Multiple Security Vulnerabilities Plague PHP, Exposing Applications to Risk
2025/03/17 SecurityOnline — PHP プログラミング言語で一連のセキュリティ脆弱性が発見され、Web アプリケーションに対する攻撃が懸念されている。この脆弱性は、PHP の HTTP ストリーム・ラッパーに影響を及ぼし、情報漏洩からサービス拒否に至るまでのリスクをもたらす。

1つ目の脆弱性 CVE-2025-1861 は、ストリーム HTTP ラッパーによるリダイレクト・ロケーションの切り捨てに関係している。アドバイザリには、「現時点において、ロケーション・サイズは 1024 Byte であり、制限が生じている。これは、RFC 9110 で推奨される 8000 Byte を下回っている。この制限により、URI から重要な情報の省略や、意図しないリソースへのリダイレクトなどが生じる可能性がある。切り捨てられた URL でエラーが発生するなどの深刻な場合には、リモート・サイトで DOS が発生する可能性もある」と記されている。
2つ目の脆弱性 CVE-2025-1734 は、ストリーム HTTP ラッパーによる、無効な名前のヘッダー処理の方法に関係している。アドバイザリには、「この問題は、コロンのないヘッダーがエラーなしで返され、コロンの前に置かれるスペースを含むヘッダーも無効化され、フラグ付けされないことに起因する。それにより、アプリケーションがレスポンス・ヘッダーを解析するときに、問題が発生する可能性がある。したがって、何らかのリクエスト・スマグリングが発生する可能性がある」と記されている。
3つ目の脆弱性 CVE-2025-1217 は、http ストリーム・ラッパーのヘッダー・パーサーの欠陥に起因する。このパーサーは、空白で始まるヘッダー行を、前のヘッダーの続きではなく、新しいヘッダーとして誤って解釈する。この脆弱性により、折り畳まれたヘッダーが正しく処理されなくなる。その結果として、MIME タイプのレポートが不正確になり、レスポンスが誤って解析され、リダイレクト後のアプリケーションがレスポンス解釈を誤るこという事態が引き起こされる。
4つ目の脆弱性 CVE-2025-1219 は、libxml ストリームにに関連するものであり、リダイレクトされたリソースを要求するときに、間違ったコンテンツ・タイプ・ヘッダーが使用されるというものだ。 HTTP ストリーム・ラッパーがリダイレクトに従う場合に、キャプチャされたヘッダーのリストがクリアされないため、複数のリクエストからのヘッダーが一緒に保存さてしまう。続いて、結合されたヘッダー配列が、hp_libxml_input_buffer_create_filename() 関数によりスキャンされると、最終的なレスポンスに属さないコンテンツ・タイプ・ヘッダーが使用され、誤った解析やセキュリティ・バイパスの可能性が生じる。
5つ目の脆弱性 CVE-2025-1736 は、ストリーム HTTP ラッパー・ヘッダー・チェックの欠陥である。このヘッダー・チェックでは、”\r” の存在が適切に検証されないため、ヘッダー値に “\n” だけが使用される場合に、誤動作が発生する可能性がある。ユーザーが適切なチェックを行わずに、この値を指定すると、改行文字が挿入されている認証ヘッダーの送信が無効になる可能性がある。アドバイザリには、「その結果が及ぼす影響により、DoS 状態や予期しない問題につながる可能性がある。この問題は、ユーザー・エージェントなどの、他のヘッダーにも影響を及ぼす」と記されている。
これらの脆弱性が影響を及ぼす範囲は、PHP のバージョン 8.1.32/8.2.28/8.3.18/8.4.5 未満となる。すでに、パッチ適用されたバージョンとして、8.1.32/8.2.28/8.3.18/8.4.5 がリリースされている。PHP 開発者に対して強く推奨されるのは、これらのパッチ適用バージョンへと速やかに更新し、一連の脆弱性がもたらすリスクを軽減することだ。
PHP の5つの脆弱性が FIX とのことですが、そのうちの2つ (CVE-2025-1217/CVE-2025-1219) は、PoC エクスプロイトが公開されています。PHP を利用している開発チームは、十分に ご注意ください。なお、PHP 関連の前回の脆弱性は、2025/02/16 の「PHP の深刻な脆弱性 CVE-2022-31631 (CVSS 9.1) が FIX:SQLite との不整合から SQLi にいたる恐れ」でした。よろしければ、PHP で検索と併せて、ご参照ください。
You must be logged in to post a comment.