PHP Patches Three Flaws Enabling SQL Injection, Memory Corruption and Server Crashes
2026/07/31 CyberSecurityNews — PHP が公表したのは、最新のメンテナンス・リリースにおける 3 件のセキュリティ脆弱性への対処である。その中には、SQL インジェクションや境界外メモリ書き込みの高深刻度の欠陥が含まれ、アプリケーションが危険な状態にさらされている。これらの脆弱性は、Web アプリケーションで一般的に使用される主要な PHP エクステンション ext-pgsql/ext-bcmath/ext-phar に影響を及ぼすものだ。ユーザー組織に求められるのは、PHP インストール環境の速やかなアップデートであるが、特に、アプリケーションが信頼されていない入力を処理するケースや、アップロードされたアーカイブファイルを扱うケースが危険とされる。

PHP が 3 件の欠陥にパッチを適用
最も深刻な脆弱性 CVE-2026-17543 は、PostgreSQL 拡張機能に影響を及ぼすものだ。この欠陥は、pg_insert()/pg_update()/pg_select()/pg_delete() などの関数で使用される、php_pgsql_convert() 関数に存在する。この脆弱なコードは、ユーザーが提供する値を PQescapeStringConn() を介してエスケープするためのものだ。
続いて、E'…' 形式のエスケープ文字列定数に、その結果が配置される。PostgreSQL の standard_conforming_strings 設定が有効な場合 (PostgreSQL バージョン 9.19.19.1 以降のデフォルト) には、このコンテキストのバックスラッシュが安全にエスケープされない。
この欠陥を悪用する攻撃者は、SQL コマンドを注入して、データベース・データへのアクセス/変更を可能にする。すでに PHP は、これらのパラメータを処理する際に、エスケープ文字列ではない文字列定数を使用することで、この問題に対処している。
2 件目の高深刻度の脆弱性 CVE-2026-17544 は、BCMath 拡張機能の bccomp() 関数に影響を及ぼす。この問題は、対象となるアプリケーションが、攻撃者が制御する数値文字列を、特定の scale 値と一緒に渡す場合に発生する。
このバグは bc_str2num() に存在し、PHP が小数部の桁を切り捨て、末尾のゼロを削除する箇所にある。このコードは割り当て済み buffer size を縮小するが、コピーされる小数部データの終端を定義するポインターを更新していない。
その結果として PHP が、割り当て済みバッファが保持できる量を超えるデータをコピーし、境界外書き込みを引き起こして、スタック/ヒープ・メモリを破損させる恐れがある。
アプリケーション条件と PHP 実行環境に応じて、このメモリ破損バグがクラッシュにつながる可能性があり、また、深刻な悪用への経路を作ることもある。このパッチは、切り詰めの後に小数部の endpoint を更新し、コピーされるデータが、割り当て済みバッファサイズと一致するようにしている。
3 件目の脆弱性 CVE-2026-7260 は、Phar エクステンションに影響し、PHP プロセスをクラッシュさせる可能性がある。この脆弱性は、phar_get_link_source() 関数に起因する。この関数は、再帰深度の制限を強制せず、循環参照も検出せずに、Phar アーカイブに保存されたシンボリック・リンクを再帰的にたどる。
したがって、循環シンボリック・リンクを含む悪意の tar ベース Phar アーカイブにより無限再帰が発生し、PHP にセグメンテーション・フォルトが生じ、クラッシュに至る可能性がある。その結果、中深刻度のサービス拒否 (CVSS 6.5) が発生する。
Phar の欠陥を突く攻撃では、ユーザーまたはアプリケーションが細工されたアーカイブを処理する必要がある。そのため、アップロードされたファイルを自動的に検査/抽出/読み取りするサービスなどで、妨害が発生する可能性がある。
影響を受けるユーザーに推奨されるのは、PHP バージョン 8.2.33/8.3.33/8.4.24/8.5.9 へとアップグレードすることである。PHP 管理者にとって必要なことは、PostgreSQL ヘルパー関数/外部から提供される値を用いる BCMath 操作/Phar および tar アーカイブを解析するファイルアップロード・ワークフローに依存するアプリケーションを確認することである。
訳者後書:PHP のデータベース処理/数値計算/アーカイブ読み込み時の不備などによる、複数の脆弱性 CVE-2026-17543/CVE-2026-17544/CVE-2026-7260 が公表されました。これらの問題は、入力値のエスケープ処理/バッファ境界の不適切な管理/参照追跡の不足などに起因しています。悪用された場合には、データベースの不正操作/メモリ破損による障害/システムの強制停止などが引き起こされる恐れがあります。対応策として、修正が含まれる最新バージョンへの速やかな移行と処理対象データの検証が有効です。システムを安全に利用するためにも、環境のアップデートを実施することが推奨されます。
You must be logged in to post a comment.