LaravelのCRLFインジェクション脆弱性、送信メール処理に深刻な影響の恐れ

Laravelフレームワークに深刻度の高い脆弱性が発見され、攻撃者が送信メールの処理を操作できる可能性があります。不正なメッセージ配信やデータ漏洩、メールリレーの悪用につながる恐れがあります。

CVE-2026-48019として追跡されているこの問題は、LaravelのデフォルトのメールアドレスバリデーションロジックにおいてCRLF(キャリッジリターン・ラインフィード)シーケンスが適切に無効化されていないことに起因しています。

この脆弱性はGitHubアドバイザリ GHSA-5vg9-5847-vvmqに詳細が記載されており、Webアプリケーションで広く使われているこのフレームワークの複数のサポート対象バージョンに影響します。

この欠陥は、LaravelアプリケーションがSymfony MailerやSymfony Mimeなどの下位コンポーネントにデータを渡す前に、ユーザーが入力したメールアドレスのCRLFシーケンスを適切にサニタイズしないまま処理する際に発生します。

CWE-93に分類されるCRLFインジェクションは、攻撃者がメールヘッダーなどの構造化データに改行文字(\r\n)を挿入することを可能にします。これによりヘッダーが改ざんされ、追加フィールドの注入や送信メッセージの構造変更が行われる可能性があります。

たとえば「[email protected]\r\nBcc: [email protected]」のような細工されたメールアドレス入力により、アプリケーションが検知されることなく意図しない受信者にメールのコピーを送信してしまう可能性があります。

この脆弱性の影響は、対象アプリケーションのメールワークフローの処理方法およびメールサーバーの設定によって異なります。実際の悪用シナリオとしては、機密メールの不正転送、メッセージ内容の改ざん、意図しないメッセージ送信を目的としたアプリケーションのメールインフラの悪用などが考えられます。

この攻撃は認証を必要とせず、会員登録フォームやお問い合わせフォームなどのユーザー入力フィールドを通じて実行できるため、公開されているLaravelアプリケーションのリスクが高まります。また、パスワードリセットやアカウント認証フローといった重要なプロセスにも支障をきたす可能性があります。

Laravelのメンテナーはこの問題に対処するため、メール入力のバリデーション方法を改善し、CRLFシーケンスがメールトランスポート層に到達する前に適切に無効化されるよう修正を行いました。

悪用を防ぐため、早急に最新の安全なバージョンにアップグレードすることが強く推奨されます。パッチ適用に加えて、開発者は厳格な入力バリデーションを徹底し、キャリッジリターンやラインフィードなどの制御文字を明示的に拒否するとともに、異常なメールヘッダーを検出・ブロックするためのメールサーバーレベルでの追加的な保護策を実装してください。

多層防御の一環として、異常なパターンや予期しない受信者を早期に発見するために、送信メールのログを継続的に監視することも推奨されます。

影響を受けるバージョンと修正済みバージョン

影響を受けるバージョン:

  • Laravel <= 13.9.0
  • Laravel < 12.60.0

修正済みバージョン:

  • Laravel >= 13.10.0
  • Laravel >= 12.60.0

この脆弱性はCVSSベクター CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:L で高深刻度に評価されており、攻撃の複雑さは高いものの、機密性および完全性に対して重大なリスクをもたらすことが示されています。

この問題はセキュリティ研究者のOmarXtreamによって責任を持って開示されており、現代のWebフレームワークにおける入力バリデーション機構を継続的に精査することの重要性を改めて示しています。

翻訳元: https://gbhackers.com/laravel-crlf-injection-flaw/

ソース: gbhackers.com