プラットフォーム
laravel
コンポーネント
laravel/passport
修正版
13.0.1
13.7.1
Laravel Passport のバージョン 13.7.0 以前に、client_credentials 認証フローにおいて認証バイパスの脆弱性が存在します。この脆弱性は、JWT (JSON Web Token) の sub クレームがクライアント識別子に設定されることによって発生し、OAuth2 サーバーライブラリの retrieveById() 関数が、意図しないユーザーを解決する可能性があります。影響を受けるバージョンは Laravel Passport 13.7.0 以前ですが、13.7.1 以降で修正されています。
この脆弱性を悪用されると、攻撃者は機械対機械 (machine-to-machine) トークンを使用して、実際のリソース所有者として認証を行うことが可能になります。これにより、攻撃者は機密データへの不正アクセス、データの改ざん、さらにはシステム全体の制御権の奪取といった深刻な被害を受ける可能性があります。特に、EnsureClientIsResourceOwner ミドルウェアと Passport::$clientUuids が false に設定されている環境では、このリスクが高まります。この脆弱性は、OAuth2 プロトコルにおける認証メカニズムの根本的な欠陥を露呈しており、類似の OAuth2 実装にも影響を及ぼす可能性があります。
この脆弱性は 2026年4月8日に公開されました。現時点では、公開されている PoC (Proof of Concept) は確認されていませんが、認証バイパスの脆弱性は悪用される可能性が高いため、早急な対応が必要です。CISA KEV カタログへの登録状況は不明ですが、攻撃者による悪用が確認された場合、KEV に登録される可能性があります。
エクスプロイト状況
EPSS
0.07% (20% パーセンタイル)
CISA SSVC
CVSS ベクトル
この脆弱性への対応策として、Laravel Passport をバージョン 13.7.1 以降にアップデートすることを強く推奨します。アップデートが困難な場合は、EnsureClientIsResourceOwner ミドルウェアを有効にするか、Passport::$clientUuids を true に設定することで、リスクを軽減できます。また、WAF (Web Application Firewall) を導入し、不正なトークン発行や認証試行を検知・遮断するルールを設定することも有効です。さらに、ログ監視を強化し、異常な認証イベントを早期に発見できるようにする必要があります。
認証バイパスの脆弱性を軽減するために、Laravel Passport をバージョン 13.7.1 以降にアップデートしてください。このアップデートは、client_credentials トークンを生成する際にユーザー識別子を正しく検証することで問題を修正します。
脆弱性分析と重要アラートをメールでお届けします。
CVE-2026-39976 は、Laravel Passport の client_credentials 認証フローにおける認証バイパスの脆弱性です。JWT の sub クレームがクライアント識別子に設定されることで、意図しないユーザーとして認証される可能性があります。
Laravel Passport のバージョン 13.7.0 以前を使用している場合は、影響を受ける可能性があります。バージョン 13.7.1 以降にアップデートすることで、この脆弱性を修正できます。
Laravel Passport をバージョン 13.7.1 以降にアップデートすることを強く推奨します。アップデートが困難な場合は、EnsureClientIsResourceOwner ミドルウェアを有効にするか、Passport::$clientUuids を true に設定してください。
現時点では、公開されている PoC は確認されていませんが、認証バイパスの脆弱性は悪用される可能性が高いため、早急な対応が必要です。
公式アドバイザリは、Laravel のセキュリティアドバイザリページで確認できます。https://laravel.com/docs/security
依存関係ファイルをアップロードすれば、このCVEや他のCVEがあなたに影響するか即座にわかります。
composer.lock ファイルをアップロードすると、影響の有無を即座にお知らせします。