特定の OPcache 最適化設定下で php-src がヒープバッファオーバーフローを起こし、リモートコード実行のリスクがある
SCCP を有効にし compact-literals 最適化パスを無効にした場合、動的な静的呼び出しのクラス名とメソッド名がともに定数伝播で最適化されると、ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_CONST_HANDLER ハンドラが関数ランタイムキャッシュ外のメモリを誤って読みます。攻撃者は悪意ある PHP スクリプトでこのロジック欠陥を引き起こし、ヒープバッファオーバーフローによりサービスクラッシュや潜在的な不正コード実行につながる可能性があります。
コンポーネント
php-src は PHP インタプリタの中核ソースリポジトリで、PHP 言語のランタイムと Zend エンジンを構築し、PHP スクリプトの解析・実行を担います。Opcode キャッシュを統合して性能を高め、Web アプリケーション向けに効率的で安定した動的コンテンツ処理を提供し、各種サーバーサイド開発で広く使われます。
種別
Heap-based Buffer Overflow (CWE-122)
リポジトリ
対処方法
- OPcache 最適化におけるランタイムキャッシュ割り当てを見直し、定数伝播後の静的メソッド呼び出しでキャッシュスロットを正しく計算・確保し、異なる最適化レベルでのメモリアクセス境界を検証して、キャッシュサイズ不一致による境界外読み取りを解消してください。
Coreruleset のルール欠陥により SQL インジェクションが回避され、データ漏洩のリスクがある
SQL インジェクション検出ルールが特定の組み合わせで論理欠落を起こします。攻撃者が LIKE (SELECT ...) 構造を含むペイロードを作ると、PL1 の 942100 ルールがこの変種を認識できずリクエストを誤って許可します。' OR (8459 LIKE (SELECT 8459)) * 4906 -- のような文で防護を回避し任意の SQL を実行でき、機密データの漏洩や完全性破壊につながります。デフォルト設定のまま PL2 に上げていない防護ノードが影響を受けます。
コンポーネント
Coreruleset は ModSecurity コアに基づくオープンソースの Web アプリケーションファイアウォール(WAF)ルールセットで、ディープパケット検査と意味解析により悪意ある HTTP リクエストを遮断します。正規表現マッチングと異常スコアリングに依存し、リバースプロキシやフロントエンドに配置してバックエンドの多層防御を提供し、OWASP Top 10 などの攻撃ベクトルを識別・遮断して境界安全を支えます。
種別
SQL Injection (CWE-89)
リポジトリ
対処方法
- 検出ロジックを修正するために Coreruleset ルールライブラリを直ちに更新するか、一時的に Paranoia Level を PL2 に上げてより厳格な検出を有効にしてください。既存ログを確認して過去の侵入の有無を調べ、新型変種への遮断有効性を定期的に検証してください。