Laravel APP_KEY の脆弱性 CVE-2024-55555:各種アプリ上での RCE トリガーの可能性

Laravel APP_KEY Flaw Exploited to Trigger Remote Code Execution on Hundreds of Apps

2025/07/11 gbhackers — Laravel アプリケーションに存在する深刻な脆弱性 CVE-2024-55555 を、セキュリティ研究者たちが発見した。この脆弱性を悪用する攻撃者は、公開状態にある APP_KEY 資格情報の欠陥を突き、数百の本番システムでのリモート・コード実行 (RCE) を可能にするという。この広範な影響が生じるというセキュリティ欠陥は、Laravel における復号されたデータが、自動的にデシリアライズされるという仕様に起因する。加えて、このフレームワークには、任意コマンドの実行を可能とする、多数のガジェット・チェーンが存在する。

APP_KEY は Laravel における 32 Byte 長の共通鍵であり、データの暗号化/セッション管理/パスワード・リセット・トークンなどの、クリティカルなセキュリティ機構の中核を成している。

この APP_KEY を入手した攻撃者が、decrypt() 関数を通じて復号を行う際に、この脆弱性が発生する。この関数は、復号化と同時に、デシリアライズを自動的に実行する。それにより、適切な検証が行われない状態のPHP オブジェクトが、読み込まれるという危険が生じる。

Laravel 環境における、PHP のデシリアライズに関する既知の脆弱性は、これらのガジェットチェーンにより任意コードの実行を可能とする。

脆弱性の詳細
CVE IDAffected SoftwareImpactDescription
CVE-2024-55555Invoice NinjaRCERemote code execution via APP_KEY compromise

phpggc (PHP Generic Gadget Chains) などのツールで判明しているものには、Laravel バージョン 5.1 〜 11.34.2+ に影響を及ぼす 20 種類以上の RCE ベクターがある。したがって、APP_KEY を取得した攻撃者にとって、この脆弱性の悪用は容易となる。

Synacktiv のセキュリティ研究者は、GitGuardian と協力することで、この脆弱性の影響範囲に関する広範な予備調査を実施した。

GreHack 2024 - Laravel - Deep dive in Laravel encryption
GreHack 2024 – Laravel – Deep dive in Laravel encryption

GreHack 2024 における Laravel 暗号化に関する調査では、Shodan を利用する検索により、Laravel インスタンス約 65 万件が特定された。また、GitHub 上のリポジトリに対する予備活動を通じて、多数の公開 APP_KEY が体系的に収集された。

この研究チームは、6,000 件超の APP_KEY を検証し、そのうちの 400 件を超える Laravel アプリケーションが、RCE 攻撃に対して依然として脆弱であることを確認した。独自に開発された “Laravel crypto killer” ツールを用いて、セッション Cookie の復号と、PHP オブジェクトの検証を実施した結果として、攻撃の実証にも成功している。

それに加えて、開発者たちのセキュリティ慣行に、重大な課題が存在することも浮き彫りとなった。2018 年以降において、GitHub 上には APP_KEY と APP_URL のペアが約 28,000 件も公開されており、そのうち 10% 程度が現在も有効であるという。現時点において、120 件のアプリケーションが、即時性の高い RCE 攻撃にさらされている。

APP_KEY の流出の約 63% では、 “.env” コンフィグ・ファイルが発端となっている。これらのファイルに含まれるものとしては、データベース認証情報/クラウド・ストレージ・トークン/決済関連のキーといった機密情報があるという。

自社のセキュリティ・プラットフォームに検出機能を組み込んだ GitGuardian が、2025年6月以降において GitHub 上で検出したものには、10,000 件を超える一意の APP_KEY がある。

APP_KEY と APP_URL を取り込む 1,300 件のインスタンスのうち、約 400 件が有効であるとされ、その中の4件では、本番環境での RCE 悪用が確認されているという。言うまでもなく、APP_KEY の露出は、組織のインフラストラクチャに対して、即時性の高い深刻なセキュリティ・リスクをもたらす。

この研究結果が浮き彫りにするのは、Laravel アプリケーションにおける、秘密情報の適切な管理と継続的な監視体制の重要性である。