プラットフォーム
laravel
コンポーネント
plank/laravel-mediable
修正版
6.4.1
CVE-2026-4809は、plank/laravel-mediableの脆弱性で、アプリケーションがクライアントから提供されたMIMEタイプを受け入れる場合に、危険なファイルタイプのアップロードを許可してしまう問題です。これにより、攻撃者はPHPコードを含むファイルをアップロードし、リモートコード実行(RCE)を引き起こす可能性があります。影響を受けるバージョンは6.4.0以下です。現時点では、この脆弱性に対する公式な修正パッチは提供されていません。
CVE-2026-4809 は、plank/laravel-mediable (バージョン 6.4.0 以前) において、危険なファイルをアップロードできる脆弱性です。このパッケージを使用するアプリケーションが、ファイルアップロード処理中にクライアントが提供する MIME タイプを信頼する場合、リモートの攻撃者は悪意のある PHP ファイルを無害な画像に偽装してアップロードできます。これは、実行可能な PHP コードをアップロードしながら、画像 MIME タイプ (例: 'image/jpeg') を宣言することで実現されます。ファイルが Web 経由でアクセス可能で実行可能な場所に保存される場合、リモートコード実行につながる可能性があり、Laravel アプリケーションのセキュリティが損なわれます。
この脆弱性は、クライアントが提供する MIME タイプへの信頼を利用して悪用されます。攻撃者は悪意のある PHP ファイルを作成し、その拡張子を一般的な画像拡張子 (例: .jpg) に変更できます。このファイルをアップロードする際、攻撃者は画像 MIME タイプを宣言し、システムを欺いて画像を扱わせます。システムがファイルを適切に検証しない場合、ファイルはファイルストレージディレクトリに保存され、PHP 実行が有効になっている場合、攻撃者は悪意のあるコードを実行できます。
Applications built with Laravel that utilize the laravel-mediable package for file uploads are at risk. This includes projects that rely on client-supplied MIME types for file validation without robust server-side verification. Shared hosting environments where users have control over file uploads are particularly vulnerable.
• laravel: Inspect file upload handling code for reliance on client-supplied MIME types. Check for files with PHP extensions in web-accessible directories. Use find /var/www/laravel -name '*.php' to identify potential targets.
• generic web: Monitor web server access logs for unusual file uploads, particularly those with image extensions but potentially malicious content. Look for requests containing Content-Type: image/* followed by PHP file access.
• generic web: Use a WAF to block uploads of files with potentially dangerous extensions (e.g., .php, .phtml, .php3) regardless of the declared MIME type.
disclosure
エクスプロイト状況
EPSS
0.52% (67% パーセンタイル)
CISA SSVC
推奨される解決策は、plank/laravel-mediable を修正されたバージョン (6.4.0 より大きい) に更新することです。さらに、クライアントが提供する MIME タイプに関係なく、サーバー側で堅牢なファイルタイプ検証を実装することが重要です。これには、ファイル拡張子の検証と、理想的にはファイルの内容を分析して、宣言された MIME タイプと一致することを確認することが含まれます。ファイルストレージディレクトリでの PHP 実行を無効にすることも重要なセキュリティ対策です。最後に、アプリケーションのセキュリティポリシーをレビューおよび強化して、不正なファイルアップロードを防ぐことが不可欠です。
この CVE は、任意のファイルアップロードの脆弱性を示しています。利用可能なパッチがないため、解決策は、脆弱なバージョンの plank/laravel-mediable (6.4.0 以前) の使用を中止するか、ファイルアップロード中にクライアントから提供された MIME タイプを検証およびサニタイズするために、アプリケーションに追加のセキュリティ対策を実装することです。許可されるファイルタイプを制限し、提供された MIME タイプのみに依存するのではなく、ファイルの内容を確認することを検討してください。
脆弱性分析と重要アラートをメールでお届けします。
6.4.0 以前のすべてのバージョンがこの脆弱性に対して脆弱です。
プロジェクトでインストールされている plank/laravel-mediable のバージョンを確認してください。6.4.0 未満の場合は、アプリケーションが脆弱です。
MIME タイプ (Multipurpose Internet Mail Extensions) は、ファイルのデータ型を示す識別子です (例: image/jpeg、text/html)。
サーバー側の検証は、クライアントが提供する MIME タイプが攻撃者によって簡単に偽装される可能性があるため、重要です。
堅牢なファイルタイプ検証やファイルストレージディレクトリでの PHP 実行の無効化など、追加の軽減策を実装してください。
CVSS ベクトル
composer.lock ファイルをアップロードすると、影響の有無を即座にお知らせします。