PHP の脆弱性 CVE-2024-8929 などが FIX:PoC も提供されている

PHP Patches Multi Flaws, Including CVE-2024-8932 (CVSS 9.8), Urges Immediate Update

2024/11/25 SecurityOnline — PHP 開発チームがリリースしたのは、バージョン 8.1.31/8.2.26/8.3.14 未満に影響を及ぼす、複数の脆弱性に対処するための緊急セキュリティ・アップデートである。これらの脆弱性の深刻度は多様であり、また、機密情報の漏洩/任意のコード実行/サービス拒否攻撃などを、攻撃者に許すという可能性が生じる。

最も深刻な脆弱性 CVE-2024-8932 (CVSS:9.8) は、ldap_escape 関数内で境界外 (OOB) アクセスを引き起こすものだ。この脆弱性の悪用に成功した攻撃者は、影響を受けるシステム上での、任意のコード実行の可能性を手にする。

PHP のアドバイザリは、「32 Bit システムにおいて、制御されていない長い文字列を ldap_escape に入力すると、整数オーバーフローがトリガーされ、境界外書き込みの可能性が生じる」と警告している。

もう 1つの深刻な脆弱性 CVE-2024-8929 を悪用する攻撃者は、ヒープバッファのオーバー・リードを通じて、ヒープ・コンテンツの部分的な漏洩を達成する。この脆弱性は、偽の MySQL サーバへの接続もしくは、ネットワーク・パケットの改竄により悪用される。

PHP のアドバイザリは、「リクエスト間において、もしくは、2種類の SQL クエリ・リクエスト間において、有効な PHP-FPM を使用すると、その PHP-FPM ワーカーから、以前の MySQL リクエストのレスポンス応内容が抽出されてしまう。PoC エクスプロイトにより、偽の MySQL サーバがパケット・ヘッダーを操作し、残りのバッファ・データを抽出する方法が実証されている」と警告している。

このアップデートでは、上記の深刻な脆弱性に加えて、以下の問題も修正されている。

  • CVE-2024-11233:convert.quoted-printable-decode フィルタににおける、1 Byte のオーバー・リードにより、情報漏洩やサービス拒否が発生する可能性がある。
  • CVE-2024-11236:Firebird および dblib クォータの整数オーバーフローにより、境界外書き込みが発生する可能性がある。
  • CVE-2024-11234:プロキシをコンフィグする際の、ストリーム・コンテキストにおける CRLF インジェクションの脆弱性により、HTTP リクエスト・スマグリング攻撃が発生する可能性がある。アドバイザリには、「ストリーム・コンテキストでプロキシをコンフィグすると、URI に対する CRLF インジェクションが可能となり、HTTP リクエスト・スマグリング攻撃にいたる可能性がある」と記されている。

すべてのユーザーに対して PHP プロジェクトが強く推奨するのは、 最新バージョンへ向けた速やかな更新である。一連のアップデート版に取り込まれたのは、これらの脆弱性の悪用によるシステム侵害を、阻止するための修正である。

それぞれの脆弱性と緩和戦略の詳細については、公式の PHP セキュリティ・アドバイザリを参照してほしい。