本文へ移動
情シスのミカタ
ニュース約3分で読めます

GitHub、FrankenPHPのID漏えい脆弱性掲載 ビルド構成を確認

FrankenPHPに、別の利用者のセッションIDを引き継ぐ脆弱性が掲載されました。影響はバージョンではなくPHPのビルド構成で決まります。対象となる構成、影響しない公式配布物、情シスが確認すべき項目を整理します。

公開 情シスのミカタ編集部AIにより執筆チェック済み
文字
GitHub、FrankenPHPのID漏えい脆弱性掲載 ビルド構成を確認

この記事のまとめ

  • FrankenPHPのワーカーモードで、別の利用者のセッションIDが引き継がれる恐れがあります。
  • 影響はPHPのビルド構成で決まり、session拡張を共有モジュールとして読み込む構成が対象です。
  • 公式の静的バイナリとDockerイメージは対象外。版番号だけでなく配布元と構成の確認が必要です。
こんな方に#20代#30代#40代#50代#60代実務

GitHubのアドバイザリーに、FrankenPHPの脆弱性「CVE-2026-82416」が掲載されました。ワーカーモードで並行処理する際、別の利用者のセッションIDを引き継ぎ、セッション情報の露出や乗っ取りにつながる恐れがあります。掲載日は資料に記載されておらず、影響の判定にはFrankenPHPの版番号ではなく、PHPのビルド構成の確認が必要です。

別の利用者のIDが残り、Cookieが無視される

セッションIDは、利用者のセッションを識別するための情報です。本件では、並行処理中に別の利用者のIDがリクエストに引き継がれるほか、同じワーカースレッドが以前処理したリクエストのIDを再利用する場合があります。

原因は、PHPのsession拡張を共有モジュールとして読み込む構成で、リクエストごとのセッションID初期化処理がビルドから除外されることです。残ったIDによって、新しいリクエストのCookieが無視されます。情報の露出や乗っ取りだけでなく、利用者が断続的にログアウトされるといった動作上の問題も生じます。

アドバイザリーによると、1.11.x~1.12.xで該当するCコードは変わっていません。特定のリリースでコードが変更されて生じた問題ではないため、版番号の比較だけで対象外と判断しないことが重要です。

修正はリクエストごとの初期化、回避策も提示

修正では、共有モジュール構成でもワーカーが各リクエストのセッション状態を初期化するようにします。PHP 8.6-dev ZTSと2ワーカーによる検証では、並行リクエスト600件中の漏えいが修正前の519件から修正後は0件になったとしています。これは記載された検証環境での結果です。

ただし、資料には修正済みバージョンの番号がありません。「最新版なら解消する」とは判断できません。回避策としては、公式の静的バイナリまたはDockerイメージの利用が挙げられています。

別の回避策は、session_write_close()の後にsession_id('')を呼ぶ方法です。ワーカーループ内でIDを空にする回避策では、session.use_strict_mode=1を併用します。コード変更を選ぶ場合は、この併用条件も開発担当へ伝える必要があります。

日本での提供は発表には書かれていません。日本向けの提供時期や日本語対応などを判断できる情報も、今回の資料にはありません。

影響する会社・しない会社

  • 影響する: FrankenPHPのワーカーモードを使い、PHPのsession拡張を共有モジュールとして読み込むビルドを運用する会社です。対象にはRPM・Debianパッケージや、session拡張を共有するphp-zts配布物が含まれます。パッケージの種類だけでなく、実際の構成を確認してください。
  • 影響しない: session拡張を静的に組み込んだビルドを利用する会社です。公式の静的バイナリとDockerイメージは、今回の脆弱性の影響対象外です。

情シスが今日やること

以下は社内の初動手順の提案です。発表による対応期限ではありません。

  1. 利用状況を棚卸しする。 IT資産台帳や運用構成資料からFrankenPHPを使うシステムを探し、開発担当・運用委託先にワーカーモードの利用有無を確認してください。版番号だけで調査を終えないよう、確認項目にPHPのビルド構成も入れます。
  2. 配布元とsession拡張の組み込み方を確認する。 開発担当にビルド記録や配布物の構成資料を確認してもらい、共有モジュールか静的組み込みかを記録します。確認用の管理画面や操作手順は発表には書かれていません。構成が不明なものは、対象外とせず未確認として残してください。
  3. 対象環境の対応方法を決める。 運用担当・開発担当と、公式の静的バイナリやDockerイメージへの切り替え、またはコード側の回避策を検討します。修正を取り込む場合は、導入前に修正内容が含まれることを確認してください。対応担当者と実施予定日も決めます。
  4. 変更前後の確認項目を共有する。 開発担当に、並行リクエスト時のセッション分離とログイン継続を確認するよう依頼します。ヘルプデスクには、断続的なログアウトも本件の症状に含まれると伝えてください。変更完了の判断前に、構成と検証結果を記録します。

出典・参考

このニュースは、公式発表と報道をもとに AI を使って作成し、出典と照らして確かめています。まちがいに気づいたら直し、更新日を改めます。

チェック済み。この記事は監修者によってチェックされました。(2026年10月16日)

執筆

情シスのミカタ編集部AIにより執筆

書いた AI: AI記者(ニュース)

企業・官公庁の公式発表を読み、事実を抜き出してから自分の言葉でニュースを書きます。記事には「影響する会社・しない会社」と「情シスが今日やること」を必ず入れます。書いた記事は別のAIが出典と照らして確かめ、通ったものだけを公開します。公式発表を読めない話題は、2つ以上の報道機関が伝えたものだけを「報道から」として書きます。使っているAI: OpenAI GPT-6.1 Sol。

監修

佐々木 航株式会社Game

代表取締役。工学部出身で、21歳で起業してからシステム会社の経営一筋で8期目。アプリの受託開発から始め、いまはAIを使ったシステムソリューションを手がけています。150社以上の企業とのプロジェクトで培った開発と情報システムの現場の経験と声を形にし、激動の時代を乗り越えたいと考えています。

メモ: 掲載時に自動で(しばらくの間)

記事は AI が書き、機械の検査と別の AI の校閲を通してから公開しています。人が見ているもの・見ていないものはAI の使い方に書いています。まちがいに気づいたら訂正・ご指摘からお知らせください。直したら、記事の最後に何を直したかを書きます。

役に立ったら、いいねと共有をお願いします