PHP2SHELL CHECK
Exposure Assessment · CVE-2026-109618 / 109619

PHP2Shell
露出点検レポート

php7403-u20-fpm-userini サーバーの実際のサービング経路(Webサーバー → SAPI/FPM pool → PHPビルド)と実効設定を読み取って2つの脆弱性の成立条件を判定し、管理者が適用すべき対処をファイル・行単位で提示します。点検は非破壊で実施しました。

1
サービング経路
1
到達可能
0
緩和済み(一時的)
1
判定保留 1 · パッチ済み 0
ホスト
php7403-u20-fpm-userini
点検日時
2026-10-23 22:48:24
点検ツール
php2shell_host.py v1.0
判定根拠
PHP_취약점_동향_2026-10.ja.md §2
PHP2SHELL CHECK01 サマリー

01  Executive Summary

サマリー

サービング経路 1個 · 判定 2件

1
サービング経路
1
到達可能
0
緩和済み(一時的)
1
判定保留 1 · パッチ済み 0
i
設定変更は 一時緩和 です。PHPは設定だけでは完全には緩和されないと明言しています(PHP_취약점_동향_2026-10.ja.md:96)。「緩和済み(一時的)」は「安全」ではありません。
侵害の痕跡の確認項目が 1件 あります(06)。判定ではなく、確認が必要な根拠です。

判定基準

到達可能このサーバーのSAPI・実効設定で、ドキュメントが確認した攻撃経路の前提条件が成立します。
緩和済み(一時的)ドキュメントの一時緩和設定がリクエスト解析前の段階に適用されています。アップグレードまでの措置です。
判定保留根拠不足または設定の読み取り失敗のため断定しません。到達不可という意味ではありません。
パッチ済み修正バージョン以上であるか、パッケージの changelog にバックポート記録があります。
PHP2Shell 露出点検レポート · php7403-u20-fpm-useriniConfidential02
PHP2SHELL CHECK02 点検対象

02  Scope

点検対象

Webサーバー → SAPI/FPM pool → PHPビルドの単位で判定します

ID対象バージョン判定実行Webサーバー
U01PHP 7.4 FPM pool [www]
7.4.3-4ubuntu2.29
PHP 7.4 は公式の修正リリースがなく、ソースバックポートのみがあります(PHP_취약점_동향_2026-10.ja.md:69)。 changelog(/usr/share/doc/php7.4-fpm/changelog.Debian.gz)にCVEのバックポート記録なし。実行中
2026-10-23 21:50:31
nginx lab-php7.4.localhost
PHP2Shell 露出点検レポート · php7403-u20-fpm-useriniConfidential03
PHP2SHELL CHECK03 CVE別の判定

03  Findings

CVE別の判定

CVSS v4.0 9.2 · 2つのCVE × サービング経路

CVE対象判定信頼度修正バージョン根拠
CVE-2026-109618U01判定保留mediumなし(EOL)FPMは startup 失敗時にワーカーを終了するためこの経路は遮断されますが、startup 以降に脆弱となり得るという分析があり、到達不可とは断定できません(DOC:44)。
CVE-2026-109619U01到達可能highなし(EOL)session.upload_progress が有効(PHP既定値)なため、session_start() なしでもセッションのライフサイクル経路が成立します。mod_php・FPMの両方が該当します(DOC:54)。

判定根拠(サービング経路)

F01 CVE-2026-109618判定保留U01
nginx lab-php7.4.localhost (/etc/nginx/sites-enabled/default:1)
location ~ \.php$ (/etc/nginx/sites-enabled/default:7)
→ unix:/run/php/php7.4-fpm.sock
FPM pool [www] (/etc/php/7.4/fpm/pool.d/www.conf:4) listen=/run/php/php7.4-fpm.sock
PHP 7.4.3 (dpkg: php7.4-fpm 7.4.3-4ubuntu2.29)
multipart 解析中の memory_limit 超過 → 部分的に初期化されたデータの解放

SAPI=fpm, memory_limit=128M (/etc/php/7.4/fpm/php.ini:409)

F02 CVE-2026-109619到達可能U01
nginx lab-php7.4.localhost (/etc/nginx/sites-enabled/default:1)
location ~ \.php$ (/etc/nginx/sites-enabled/default:7)
→ unix:/run/php/php7.4-fpm.sock
FPM pool [www] (/etc/php/7.4/fpm/pool.d/www.conf:4) listen=/run/php/php7.4-fpm.sock
PHP 7.4.3 (dpkg: php7.4-fpm 7.4.3-4ubuntu2.29)
fatal error で解放処理が中断 → 同じワーカーの次のリクエストが stale state を消費

SAPI=fpm, session.upload_progress.enabled=1 (PHP既定値)

  • session.upload_progress.enabled=0 (/var/www/html/.user.ini:1) — .user.ini/ini_set は適用タイミングが遅いため効果がありません(DOC:108)。
PHP2Shell 露出点検レポート · php7403-u20-fpm-useriniConfidential04
PHP2SHELL CHECK04 対処事項

04  Remediation

対処事項

優先順位順 · ファイル・行単位

即時PHP 7.4: パッケージ提供元でバックポートの有無を確認
問題
PHP 7.4 は公式の修正リリースがなく、ソースバックポートのみがあります(PHP_취약점_동향_2026-10.ja.md:69)。 changelog(/usr/share/doc/php7.4-fpm/changelog.Debian.gz)にCVEのバックポート記録なし。
現在
php7.4-fpm 7.4.3-4ubuntu2.29
場所
ディストリ公式パッケージ · 対象 U01
対処
パッケージ提供元のセキュリティアップデートを確認し、なければサポート対象ブランチに移行します。
確認
zcat /usr/share/doc/php7.4-fpm/changelog.Debian.gz | grep -E 'CVE-2026-109618|CVE-2026-109619'
根拠
PHP_취약점_동향_2026-10.ja.md:69
一時緩和CVE-2026-109619 一時緩和: session.upload_progress の無効化
問題
既定で有効な upload progress が stale state 消費の経路を開きます。
現在
session.upload_progress.enabled=1 (PHP既定値)
場所
/etc/php/7.4/fpm/pool.d/www.conf · 対象 U01
対処
/etc/php/7.4/fpm/pool.d/www.conf の [www] セクションに追加:
php_admin_value[session.upload_progress.enabled] = 0
※ ini_set()・.user.ini では効果なし
確認
sudo systemctl restart php7.4-fpm
sudo python3 php2shell_host.py  # 再点検で判定の変化を確認
影響
セッションベースのアップロード進捗表示機能が動作しなくなります。
根拠
PHP_취약점_동향_2026-10.ja.md:54, :108
一時緩和CVE-2026-109618 一時緩和: memory_limit のロック + リクエストサイズ制限
問題
multipart 解析中の memory_limit 超過により、部分的に初期化されたリクエストデータが解放され、メモリ破損が発生します。
現在
memory_limit=128M (/etc/php/7.4/fpm/php.ini:409)
post_max_size=8M (/etc/php/7.4/fpm/php.ini:694)
upload_max_filesize=2M (/etc/php/7.4/fpm/php.ini:846)
nginx client_max_body_size=1m(既定値) (/etc/nginx/sites-enabled/default:1)
場所
/etc/php/7.4/fpm/pool.d/www.conf · 対象 U01
対処
/etc/php/7.4/fpm/pool.d/www.conf の [www] セクションに追加:
php_admin_value[memory_limit] = -1

memory_limit=-1 はリクエストごとの上限をなくすため、サービス単位のメモリ上限を併せて設定します:
sudo systemctl edit php7.4-fpm
  [Service]
  MemoryMax=<サーバーのメモリに合った値>
(RLIMIT_AS/RLIMIT_DATA は使用しません)
確認
sudo systemctl restart php7.4-fpm
sudo python3 php2shell_host.py  # 再点検で判定の変化を確認
影響
アプリが multipart を使用しない場合は、Webサーバーの前段で multipart リクエスト自体を遮断するのが最も確実です(DOC:105)。
根拠
PHP_취약점_동향_2026-10.ja.md:101-105
一時緩和効果のない緩和設定の整理
問題
この場所の設定はリクエスト解析後に適用されるため、効果がありません。
現在
session.upload_progress.enabled=0 (/var/www/html/.user.ini:1)
場所
/var/www/html/.user.ini:1 · 対象 U01
対処
該当行を削除し、pool/php.ini レベルの設定に移します。
確認
sudo python3 php2shell_host.py  # 再点検で判定の変化を確認
根拠
PHP_취약점_동향_2026-10.ja.md:108
整備PHPバージョンヘッダーの露出防止(expose_php)
問題
X-Powered-By でPHPバージョンが公開され、攻撃対象の選別に使われます。
現在
expose_php=On (/etc/php/7.4/fpm/php.ini:379)
場所
/etc/php/7.4/fpm/php.ini:379 · 対象 U01
対処
/etc/php/7.4/fpm/php.ini:379: expose_php = Off
確認
sudo systemctl restart php7.4-fpm
curl -sI https://<ホスト>/ | grep -i x-powered-by   # 出力がないこと
PHP2Shell 露出点検レポート · php7403-u20-fpm-useriniConfidential05
PHP2SHELL CHECK05 侵害の痕跡 · 付録

05  Compromise & Appendix

侵害の痕跡 · 付録

判定ではない確認項目 · 点検方式の公開

要確認侵害の痕跡の確認: 2026-10-17 以降に変更された .php ファイル

デプロイによる正常な変更の可能性があります。デプロイ履歴と照合し、説明のつかないファイルを確認します。

1個

2026-10-23 01:52  /var/www/html/index.php

find /var/www/html -name '*.php' -newermt 2026-10-17 -ls

透明性付録

非破壊実行したコマンド 0件 · ネットワークリクエスト 0件 · 書き込みはレポートディレクトリ(/tmp/php2shell_report)のみ
読み取ったファイル40個(全一覧は report.json)
読み取れなかったファイル0個
制限設定ファイルに基づく実効値であり、再起動による反映はファイルの変更日時から推定します。Apache の php_* ディレクティブはグローバルとして扱います。RHEL系のパッケージバージョン、php-cgi・LiteSpeed・FrankenPHP、エクスプロイト成功条件(AC:H/AT:P)は判定しません。
PHP2SHELL CHECK2026-10-23 22:48:24
PHP2Shell 露出点検レポート · php7403-u20-fpm-useriniConfidential06
PHP2SHELL CHECK06 運用中の旧バージョンサーバーへの対応

06  Operating Guidance

運用中の旧バージョンサーバーへの対応

今日 · 今週 · アップグレード経路 · 不可能な場合

アップグレードが答えであることは、たいてい既に分かっています。問題は、運用中のサーバーをそれまでどう扱うかです。

1. 今日: サービスを止めずにできること

2. 今週: セキュリティ修正を含むパッケージの確保

3. アップグレード経路: 無停止で移行する

4. すぐにアップグレードできない場合

5. 他組織のサーバーで発見した場合

根拠表記の DOC は PHP_취약점_동향_2026-10.ja.md です。
PHP2SHELL CHECK2026-10-23 22:48:24
PHP2Shell 露出点検レポート · php7403-u20-fpm-useriniConfidential07