PHP 8.5.12が公開、2件の脆弱性に対応し29コンポーネントで90件を修正のアイキャッチ画像

PHP アップデート情報 セキュリティ 脆弱性

PHP 8.5.12が公開、2件の脆弱性に対応し29コンポーネントで90件を修正

※本記事は広告が含まれる場合があります。

出典:X(@php_net)

PHPプロジェクトは2026年10月21日、PHP 8.5系のメンテナンスアップデート「PHP 8.5.12」を公開しました。参照記事によると、29コンポーネントにわたる90件の不具合修正を含むセキュリティリリースで、CVE-2026-109618とCVE-2026-109619に対応しています。

みつた

こんにちは!PHP 8.5.12が公開されました。2件の脆弱性への対応を含む更新なので、影響を受ける環境では早めにアップグレードしておきたいですね。

2件の脆弱性に対応するセキュリティリリース

PHP 8.5.12では、Coreの変更として、bailoutに伴う状態の破損を回避する修正が掲載されています。対応する脆弱性識別子は、次の2件です。

  • CVE-2026-109618
  • CVE-2026-109619

参照記事は、これらの影響を受ける環境に対し、速やかなアップグレードを促しています。

CoreやOPcacheでクラッシュ・誤動作を修正

今回の更新には、セキュリティ対応以外にも幅広い修正が含まれています。Coreでは、最適化処理で定数同士の比較が畳み込まれず、VMがクラッシュする問題や、遅延オブジェクト、var_dump()、オブジェクト比較が関係するガベージコレクションの不整合などが修正されました。

OPcacheでは、最適化処理におけるヒープバッファオーバーフローに加え、Tracing JITがループ不変の加算に対するガードで誤った結果を生成する問題などに対応しています。また、$cond ? -0.0 : 0.0を単一の-0.0定数へ変換してしまう最適化の不具合も修正対象です。

PDOやデータベース関連の変更

PDOでは、無効な列インデックスを指定したPDOStatement::getColumnMeta()による範囲外読み取りや、PDOStatement::execute()の実行失敗後も以前の結果が残る問題が修正されました。

さらに、永続PDOインスタンスの破棄によって、別のインスタンスが使用中のトランザクションまでロールバックされる不具合にも対応しています。

関連コンポーネントでは、PDOFirebirdがNULLではない空のBLOBに対してnullを返す問題や、PGSQLのpglo_write()がNULLバイトを含むデータを拒否する問題などが修正されています。

文字列処理、DOM、CLIにも修正

文字列処理では、MBStringのmbstrpos()が、不完全なUTF-8シーケンスで終わる検索対象の末尾を越えて読み取る問題に対応しました。Intlでは、補助文字が一致箇所より前にある場合にgraphemestrstr()とgrapheme_stristr()が誤った部分文字列を返す問題などが修正されています。

DOMでは、Dom\HTMLDocument::getElementById()がSVGやMathMLの要素のIDを見つけられない問題を修正。CLIの組み込みサーバーでは、静的ファイルへのHEADリクエストごとにファイルディスクリプターがリークする問題や、接続の受け入れ前にクライアント側で接続がリセットされた際のクラッシュに対応しました。

配布ファイルと更新案内

参照記事によると、ビルド、ソースアーカイブ、チェックサムはphp.netで提供されています。掲載されているソースアーカイブの形式は、tar.gz、tar.bz2、tar.xzの3種類です。

PHP 8.5系の利用者には更新が案内されており、特に今回の脆弱性の影響を受ける環境では、速やかなアップグレードが推奨されています。

-PHP, アップデート情報, セキュリティ, 脆弱性