PHP 8.2〜8.5 の修正版が公開済み 独立コミュニティによる情報 · 2026年10月22日 確認

PHP2Shell チェッカー / openai php2shell checker

OpenAI の php2shell-checker:使い方と結果の読み方

OpenAI の php2shell-checker は、オープンソースの小さな Node.js ツールです。サイトが HTTP ヘッダーで示す PHP のバージョン、またはサーバーの php -v の出力を読み、系列ごとの最後の脆弱なバージョンと比べます。自分のサイトやサーバーで実行し、出力を当サイトの PHP2Shell チェッカーに貼り付けると、配布元の修正も考慮して判定できます。

PHP2Shell.help 編集部確認日 公式の情報源 ↓

OpenAI の php2shell-checker とは何ですか?

php2shell-checker は、OpenAI が PHP2Shell(CVE-2026-109618・CVE-2026-109619)の協調公開に合わせて 2026年10月21日に公開したオープンソースのツールです(Apache 2.0 ライセンス)。短い Node.js のスクリプトで、二つのモードがあります。

  • URL モード:サイトに HEAD リクエストを送り、X-Powered-By と Server ヘッダーから PHP のバージョンを読みます。HEAD が拒否されたときだけ GET を使い、リダイレクトは追わず、ページの中身も読みません。
  • ローカルモード:そのマシンで php -v を実行してバージョンを読みます。

読み取ったバージョンを、5.4 から 8.5 までの系列ごとの「最後の脆弱なバージョン」の表と比べます。攻撃に当たる通信は送りません。

OpenAI のチェッカーはどう実行しますか?

Node.js と、GitHub から取得したリポジトリが必要です。リポジトリのフォルダで次のように実行します。

  • サーバー上でコマンドラインの PHP を確認:node phpcheck.js --local
  • 自分のサイトを確認:node phpcheck.js "https://自分のサイト"
  • 機械で読める形式にするには --json を付けます。

URL モードは、自分が管理しているサイトにだけ使ってください。--local が見るコマンドラインの PHP は、サイトを動かしている PHP と違うことがあります。WordPress なら「ツール → サイトヘルス → 情報 → サーバー」でサイト側のバージョンも確認してください。

OK・VULNERABLE・UNKNOWN は何を意味しますか?

結果終了コードツールの意味すること
OK0系列の最後の脆弱なバージョンより新しいサイトで実際に動いているバージョンか、PHP を再起動したかを確認
VULNERABLE1最後の脆弱なバージョン以下PHP を更新(配布元が修正を取り込んでいる場合は下記参照)
UNKNOWN3バージョンが見つからない、表にない系列、プレリリース管理画面やサーバー上でバージョンを確認

UNKNOWN は安全という意味ではありません。きちんと設定されたサーバーの多くはヘッダーで PHP のバージョンを隠すため、URL モードでは UNKNOWN になることがよくあります。

OpenAI のチェッカーが間違えやすいのはどんなときですか?

このツールはバージョンの番号だけを比べます。OpenAI 自身も、OK は修正を独自に確認したものではないと説明しています。実際に問題になるのは次の三つです。

  • 配布元のバックポート:Ubuntu、Debian、Red Hat などは番号の古い PHP パッケージにも修正を入れます。修正済みの 8.3.6-0ubuntu0.24.04.13 でも VULNERABLE と出ます。Ubuntu での PHP 更新をご覧ください。
  • 管理パネルや配布元の独自番号:古い系列では、PHP が出していない番号でも上限より大きければ OK と出ます。宝塔や aaPanel は 7.4.34 や 8.1.35 という修正版を出していますが、8.0.27 は宝塔の修正版であると同時に、修正を含まない PHP の旧版の番号でもあります。
  • ヘッダー:プロキシや CDN が X-Powered-By を隠したり書き換えたりします。1 台のサーバーで、バージョンの違う複数のサイトが動いていることもあります。

当サイトの PHP2Shell チェッカーと組み合わせるには?

ツールの出力を、PHP2Shell チェッカーのバージョン欄にそのまま貼り付けてください。--json の出力、OK: PHP 8.3.36 のような行、php -v の出力、X-Powered-By: PHP/8.3.36 のヘッダーからバージョンを取り出します。そのうえで PHP の入手元(OS のパッケージ、宝塔 / aaPanel、その他の管理パネルなど)を選ぶと、番号だけでは分からないバックポートや管理パネルの修正版も考慮して判定します。判定はブラウザーの中だけで行い、貼り付けた内容はどこにも送りません。

修正版は次のとおりです。

系列最初の修正版
PHP 8.28.2.35
PHP 8.38.3.36
PHP 8.48.4.27
PHP 8.58.5.12
8.1 以前新しいリリースなし(7.4・8.0・8.1 は公式ソースパッチあり)

影響を受けると出た場合は、php2shell 対処法で自分の環境の手順を確認してください。更新後は侵害の確認方法で、それ以前の侵入がないかも確認しましょう。

php2shell.help で URL を確認してもらえますか?

はい。PHP2Shell チェッカーの URL 欄に入れると、同じ方法でサイトのヘッダーを読み、当サイトの基準で判定します。サーバー上で php -v を読む --local は、ツールを自分で実行すると便利です。

OpenAI のチェッカーで OK と出ました。PHP2Shell は大丈夫ですか?

そうとは限りません。OK は、示されたバージョンが系列の最後の脆弱なバージョンより新しいという意味だけで、修正そのものは確認していません。ヘッダーは書き換えられることもあります。サイトで実際に動いているバージョンと、PHP の再起動を確認してください。

PHP2Shell の影響をチェック

サイトが使っている PHP のバージョンを入力してください。系列ごとの最初の修正版と比べ、次にすべきことを表示します。

PHP2Shell チェッカー →

情報源

このページの主要な事実(修正版、CVE の内容、配布元のパッケージ、公的機関の呼びかけ)は公式の情報源にもとづいています。研究者の報告、報道、コミュニティの投稿はそれぞれ区別して表示しています。