PHPの脆弱性情報一覧

2026/08/18

最終更新日:2026年8月17日

PHPの脆弱性情報とサポート状況を、バージョンごとに一覧でまとめました。2026年8月時点の最新版はPHP 8.5.9です。いま動いているシステムのPHPバージョンが対象に含まれていないか、下の表で確認してください。

PHPの脆弱性情報一覧

直近に公開された、PHP本体(php-src)の脆弱性です。公開日の新しい順に並べています。

脆弱性情報深刻度影響を受けるバージョン修正されたバージョン
CVE-2026-17544
bccomp() の境界外書き込み
High8.4.24未満
8.5.9未満
8.4.24
8.5.9
CVE-2026-17543
ext-pgsql でのSQLインジェクション
High8.2.33未満
8.3.33未満
8.4.24未満
8.5.9未満
8.2.33
8.3.33
8.4.24
8.5.9
CVE-2026-7260
phar の循環シンボリックリンクによるスタックオーバーフロー
Moderate
(CVSS 5.5)
8.2.33未満
8.3.33未満
8.4.24未満
8.5.9未満
8.2.33
8.3.33
8.4.24
8.5.9
CVE-2026-12184
TLS確立に失敗した際のリモートDoS
High
(CVSS 8.2)
8.3.32未満
8.4.21未満
8.5.6未満
8.3.32
8.4.21
8.5.6
CVE-2026-14355
openssl_encrypt(AES-WRAP-PAD)でのメモリ破損
Moderate
(CVSS 4.8)
8.2.32未満
8.3.32未満
8.4.23未満
8.5.8未満
8.2.32
8.3.32
8.4.23
8.5.8
CVE-2026-6722
SOAP の use-after-free(リモートコード実行につながる可能性)
High8.2.31未満
8.3.31未満
8.4.21未満
8.5.6未満
8.2.31
8.3.31
8.4.21
8.5.6
CVE-2026-7261
SoapServer のセッション永続オブジェクトの use-after-free
Moderate
(CVSS 6.3)
8.2.31未満
8.3.31未満
8.4.21未満
8.5.6未満
8.2.31
8.3.31
8.4.21
8.5.6
CVE-2026-7262
SOAP の apache:Map デコーダでのNULLポインタ参照
Moderate
(CVSS 6.3)
8.2.31未満
8.3.31未満
8.4.21未満
8.5.6未満
8.2.31
8.3.31
8.4.21
8.5.6
CVE-2026-7258
urldecode() の境界外読み取り
Moderate
(CVSS 6.3)
8.2.31未満
8.3.31未満
8.4.21未満
8.5.6未満
8.2.31
8.3.31
8.4.21
8.5.6
CVE-2026-6104
mb_convert_encoding() のバッファ過剰読み取り
Moderate
(CVSS 6.3)
8.4.21未満
8.5.6未満
8.4.21
8.5.6

優先して対応すべきもの

上の表の中で、まず確認していただきたいのは次の2つです。

CVE-2026-17543(ext-pgsql のSQLインジェクション) は、PostgreSQLを使っているシステムに直接影響します。pg_insert() pg_update() pg_select() pg_delete() を使っている場合、E'...' 形式のエスケープ文字列でバックスラッシュが正しく処理されず、SQLインジェクションが成立する可能性があります。これらの関数を使っているかどうかは、ソースコードを検索すればすぐ分かります。

CVE-2026-6722(SOAP の use-after-free) は、リモートコード実行につながる可能性があるとされています。SOAPを使った外部連携があるシステムは確認してください。

なお、SOAP関連の脆弱性が短期間に4件(CVE-2026-6722 / 7261 / 7262、および関連する修正)公開されています。SOAP拡張を使っているシステムは、この機会にまとめて確認することをおすすめします。

掲載基準

  • PHP本体(php-src)の脆弱性のみを掲載しています。 フレームワーク(Laravel・CakePHPなど)やライブラリの脆弱性は含みません。
  • PHP公式のセキュリティアドバイザリで High または Moderate と分類されたものを掲載しています。
  • 深刻度は、公式アドバイザリの区分(High / Moderate)を正としています。 PHPの公式アドバイザリはCVSSスコアを公開していないものがあるため、公開されているものだけ括弧内に併記しました。
  • 参考として、CVSSの一般的な区分は次のとおりです。
区分CVSSスコア
緊急(Critical)9.0 〜 10.0
重要(High)7.0 〜 8.9
警告(Medium)4.0 〜 6.9
注意(Low)0.1 〜 3.9

出典

この一覧は、2026年8月17日時点で私たちが確認できた情報をまとめたものです。公開されているすべての脆弱性を網羅しているわけではありません。実際に対応が必要かどうかは、稼働環境・使用している拡張機能・構成にあわせてご判断ください。

【結論】現在の最新バージョンと注意点

  • 最新バージョンは PHP 8.5.9(2026年7月30日リリース)です。 各系列の最新は 8.5.9 / 8.4.24 / 8.3.33 / 8.2.33 です。
  • PHP 8.1以前をお使いの場合、セキュリティ修正はすでに提供されていません。 8.1は2025年12月31日、8.0は2023年11月26日、7.4は2022年11月28日にサポートが終了しています。
  • PHP 8.2をお使いの場合、2026年12月31日でセキュリティサポートが終了します。 残り約4か月です。
  • 2026年7月30日に、pg_insert() などでSQLインジェクションが可能になる脆弱性(CVE-2026-17543) の修正が公開されています。PostgreSQLをお使いの場合は優先して確認してください。

この記事の目次


ここから下は、「もう少し詳しく知りたい」という方向けの補足です。

PHPはどのバージョンまでサポートされる?

PHPのサポート期間は、リリースから4年間と決まっています。内訳は次のとおりです。

  • 最初の2年間=アクティブサポート:バグ修正とセキュリティ修正の両方が提供される
  • 次の2年間=セキュリティサポート:重大なセキュリティ問題の修正のみ提供される

2026年8月時点の各バージョンの状況です。

バージョン最新パッチリリース日アクティブサポート終了セキュリティサポート終了
8.58.5.92025年11月20日2027年12月31日2029年12月31日
8.48.4.242024年11月21日2026年12月31日2028年12月31日
8.38.3.332023年11月23日終了(2025年12月31日)2027年12月31日
8.28.2.332022年12月8日終了(2024年12月31日)2026年12月31日
8.18.1.342021年11月25日終了終了(2025年12月31日)
8.08.0.302020年11月26日終了終了(2023年11月26日)
7.47.4.332019年11月28日終了終了(2022年11月28日)

誤解されやすい点

「PHP 8だから大丈夫」ではありません。

8.0と8.1は、すでにセキュリティサポートが終了しています。「8系にしたから当分安心」と思っていたシステムが、実は修正の提供されないバージョンだった、というのは実際によくある話です。バージョンは小数点以下まで確認してください。

もうひとつ、8.2をお使いの方は今年が期限です。

8.2のセキュリティサポート終了は2026年12月31日。この記事を書いている時点で、残り4か月半です。年内の対応を前提にスケジュールを組んでおくと安心だと思います。

「Linuxディストリビューションが独自にサポートしている」場合があります。

RHELやUbuntuなどのディストリビューションは、PHP本体のサポートが終わったあとも、独自に修正を取り込んで(バックポートして)提供していることがあります。この場合、php -v の表示が 7.4 でも、ディストリビューション側でパッチが当たっている可能性があります。

ただし、バックポートの対象になるのは重大なものだけで、PHP本体の最新版と同じ状態にはなりません。また、ディストリビューション自体のサポート期間も別途あります。「ディストリビューションがサポートしているから大丈夫」で止めず、どこまでが対象なのかを確認してください。

自分のPHPバージョンを確認する方法

サーバーにログインできる方はコマンドが早いですが、多くの場合は管理画面から確認できます。 こちらから説明します。

1. レンタルサーバーの管理画面で確認する

レンタルサーバーには、たいていPHPのバージョンを切り替える機能があります。その画面に、いま使っているバージョンが表示されています。切り替えずに、表示を見るだけで確認できます。

主なサーバーでの場所は次のあたりです。

サーバー・管理画面探す場所
エックスサーバーサーバーパネル →「PHP Ver.切替」
さくらのレンタルサーバコントロールパネル →「スクリプト設定」内のPHPバージョン設定
ロリポップ!ユーザー専用ページ →「サーバーの管理・設定」→「PHP設定」
ConoHa WINGサイト管理 →「サイト設定」→ 応用設定内のPHPバージョン
cPanel「MultiPHP Manager」または「Select PHP Version」
Plesk対象ドメインの「PHP設定」

メニュー名はリニューアルで変わることがあります。見つからない場合は、管理画面の検索窓で「PHP」と入れると早いです。

⚠️ 切り替えボタンを押さないでください。 この画面ではバージョンを変更できてしまいます。確認だけのつもりで操作すると、サイトが表示されなくなることがあります。 見るだけにしてください。

2. WordPressの管理画面で確認する

WordPressをお使いなら、サーバーの管理画面に入らなくても確認できます。

管理画面 →「ツール」→「サイトヘルス」→「情報」タブ →「サーバー」 を開くと、「PHPバージョン」の項目があります。

この方法には利点があります。ここに表示されるのは、WordPressが実際に動いているPHPのバージョンです。あとで説明するコマンドでの確認とずれることがなく、Webサイトの実態を見るという意味では一番確実です。

「サイトヘルス」の「ステータス」タブに、PHPバージョンに関する警告が出ていることもあります。あわせて確認してください。

3. コマンドで確認する

サーバーにSSHでログインできる場合は、こちらが早いです。Plain Text

php -v

ただし、CLI(コマンドライン)のPHPと、Webサーバーが使っているPHPは別のバージョンであることがあります。 ApacheのモジュールやPHP-FPMが、コマンドラインとは違うバージョンを見ているケースです。php -v が 8.3 でも、実際にサイトを動かしているのは 7.4 だった、ということが起こります。

PHP-FPMを使っている場合は、次のコマンドでも確認してください。Plain Text

php-fpm -v

確認するときの注意点

バージョンは小数点以下まで確認してください。 「8.2」ではなく「8.2.15」まで見ないと、脆弱性の一覧表と突き合わせられません。

ドメインやディレクトリごとに設定が違うことがあります。 1台のサーバーで複数サイトを運用している場合、サイトAは8.3、サイトBは7.4、ということが普通にあります。管理画面で確認するときは、どのドメインの設定を見ているのかに注意してください。

⚠️ phpinfo() を公開ディレクトリに置かないでください

phpinfo() を書いたファイルを置いてブラウザで見る」という方法が広く紹介されていますが、これはおすすめしません。

phpinfo() の出力には、PHPのバージョンだけでなく、サーバーの絶対パス、読み込んでいる拡張機能、環境変数、設定ファイルの場所などが含まれます。攻撃者にとっては、そのサーバーを調べるための情報がまとめて手に入る状態です。実際、放置された info.phpphpinfo.php は、攻撃者が真っ先に探すファイルのひとつです。

どうしても使う場合は、次の条件を守ってください。

  • 公開ディレクトリではなく、アクセス制限をかけた場所に置く
  • 推測されにくいファイル名にする(info.php は避ける)
  • 確認したらすぐ削除する(「あとで消す」はまず消えません)

そもそも、バージョンを知りたいだけなら php -v で足ります。

なぜバージョンアップが必要なのか

PHPは、サーバーサイドの言語が判明しているWebサイトのうち**70.3%**で使われています(W3Techs、2026年8月17日時点)。それだけ広く使われているということは、攻撃する側にとっても調べる価値が大きいということです。

同じ調査で、PHPを使っているサイトのバージョン内訳はこうなっています。

バージョン割合
PHP 8系63.1%
PHP 7系28.9%
PHP 5系7.9%
PHP 4系0.1%

PHP 7系以前が、合わせて36.9%。 すべてサポートが終了しているバージョンです。さらに8系の中にも、終了済みの8.0・8.1が含まれています。つまり、実際にサポート対象のPHPで動いているサイトは、この数字よりさらに少ないことになります。

サポートが終わると、実際に何が起きるのか

正直に書くと、何も起きません。

サポートが終わった瞬間にシステムが止まることはありません。昨日まで動いていたものは、今日も動きます。だから放置されやすいんです。

変わるのは一点だけです。新しく脆弱性が見つかったときに、修正パッチが出てこなくなります。

上の一覧表を見ていただくと分かりますが、PHPの脆弱性は数か月に一度のペースで見つかっています。サポート中のバージョンなら、公式が修正版を出してくれる。終わっていれば、自分たちで塞ぐか、上のバージョンに移るかの二択になります。

これは明日困る問題ではありません。ただ、取引先のセキュリティチェックシートや、ISMSなどの認証の場面で問われることは確実に増えています。そのときに「サポートが切れています」と書かなければならない状態は、あまり気持ちのいいものではないと思います。

PHPバージョンアップの手順

「PHPを上げてください」と言われて、いきなり本番のPHPを差し替えるのは避けてください。順番があります。

1. 現状を洗い出す

上げる前に、次の4つを確認します。

  • PHPのバージョン(8.1.34 のように、小数点以下まで)
  • サーバーのOSとそのバージョン
  • 使っているフレームワーク・ライブラリとそのバージョン(composer.json / composer.lock
  • 有効になっているPHP拡張(php -m

ここで一番よく詰まるのは、OSです。 古いPHPが動いているサーバーは、たいていOSも古いままです。新しいPHPが公式パッケージで入らない、という理由でサーバーの入れ替えが必要になることがあります。PHPだけの話だと思って見積もると、想定が大きくずれるのはこれが原因です。

2. テスト環境(ステージング)を用意する

本番と同じ構成の環境を別に立てて、そこで作業します。本番をそのまま触らない。切り戻せる状態をつくってから始める。 ここは省略しないでください。

あわせて、データベースとソースコードのバックアップを取り、実際に復元できることまで確認します。取っただけで戻せないバックアップは、それなりの頻度で見つかります。

3. 依存関係の下位から順に上げる

上げる順番は、下から上です。

  1. OS(必要な場合)
  2. PHP本体
  3. フレームワーク・ライブラリ(Composerで管理しているもの)
  4. アプリケーションのコード

下のレイヤーが要件を満たしていないと、上だけ上げても動きません。たとえばフレームワークの新しいバージョンが PHP 8.2以上を要求している場合、PHPを先に上げないと話が始まりません。

4. 動作確認する

PHPのバージョンアップで壊れやすいのは、次のような箇所です。

  • 非推奨(deprecated)だった関数の削除:警告が出ていただけの記述が、エラーになる
  • 型の扱いの厳格化:暗黙の型変換に頼っていた箇所でエラーになる
  • エラーの扱いの変更:これまで警告で済んでいたものが、例外として投げられる
  • 拡張機能の仕様変更・削除

エラーログを表示する設定にして、画面に出ないエラーまで拾うのがポイントです。「見た目は動いている」だけで判断すると、あとで問題が出ます。

5. 本番に反映し、確認する

反映後、すぐに確認する項目を事前に決めておきます。ログイン、フォーム送信、決済、メール送信、バッチ処理など、止まると影響が大きいところから確認します。

そして、切り戻し手順を用意してから反映すること。反映してから考えるのでは遅いです。

🔲 【差し込み枠|社内エピソードの記入をお願いする箇所(任意)】

入れたい内容:実際にPHPのバージョンアップを行った案件で、どこに時間がかかったか。

書いてほしいこと

  • どのバージョンから、どのバージョンへ上げたか
  • 事前の想定と比べて、どこが重かったか(逆に、思ったより軽かった箇所も)
  • バージョンアップと同時にやらざるを得なかったこと(サーバー移設、ライブラリの入れ替えなど)

優先度:任意。この記事は公式情報で成立しているので、枠が埋まらなくても公開できます。ただし1つ入ると「調べて書いた記事」から「やっている会社の記事」に変わります。

PHPの保守・バージョンアップのご相談について

東京都豊島区・南池袋のWeb開発会社です。Webシステム開発を軸に、デザイン・サーバー構築・アプリ開発など「Web」全般を手がけ、最近は生成AIの導入支援やAIプロダクト開発にも力を入れています。ECサイト・コーポレートサイト・CRM・業務システムなど、これまで数多くの開発・運用保守を担ってきました。

2010年の創業から16年、メインで扱ってきたのはPHPとLinux環境です。CakePHP・Laravel・CodeIgniterでの開発に加え、他社が構築したシステムの保守・改修も引き受けています。2024年にはISMS(情報セキュリティマネジメントシステム)の認証も取得しました。

「バージョンがいくつか分からない」「どこから手をつければいいか分からない」という段階でも大丈夫です。調べ方からご相談いただけます。


ここまで読んでいただき、ありがとうございました。

「こんな会社なんだ」と少しでも興味を持っていただけたら、 ぜひ一度、ホームページものぞいてみてください。 ▶ サニージェム株式会社

Web・システム・AIのことで気になることがあれば、 「何から相談すればいいか分からない」段階でも大丈夫です。 お気軽にご相談ください。 ▶ お問い合わせ

サニージェム公式note

アーカイブ記事

すべて
  • 1月
  • 2月
  • 3月
  • 4月
  • 5月
  • 6月
  • 7月
  • 8月
  • 9月
  • 10月
  • 11月
  • 12月

contact us お問い合わせ

Contact お問い合わせ・ご相談

「何から相談すればいいかわからない」
そんな段階でも、お気軽にご連絡ください。

Recruit 求人へのご応募

サニージェムの考え方に共感してくれる方と、
ぜひ一緒に働きたいと思っています。