PHP2SHELLという悪夢の再来を検証してみる

tanahiro2010

2026-10-21 ・ 公式パッチ公開の前に

予告

2026年10月20日

公式の予告

php.net/archive/2026

書いてあったのは、たった4行

公式が言っていないこと

中身は分からない

なのにリークが先に走った

PHP2SHELL

混線

流れている情報

SNS / HN / 研究者

どれも公式ではない

重大度すら割れている

BleepingComputer

誰が、何を確定させた??

4つの層に分ける

機構

Session Upload Progress

いつ動く??

アプリが走る前

アプリの手前で動く

php-src を読む

設定で止まるのはどこか

// ext/session/session.c
static int php_session_rfc1867_callback(...) {
    if (!PS(rfc1867_enabled)) {
        return retval;  // enabled=0 で止まるのはここだけ
    }
    // ... セッションへ進捗を書き込む
}

止まらないところ

enabled を切っても、全部は止まらない

検証

公開PoCは、本当に動くのか??

公開PoCの主張

公開PoCの機構説明(実行証跡ではない)

自分のラボで送ってみた

再現しなかった

何も起きない

なぜ再現しないか

PoC自身も認めている

VALIDATION.md

再現せず ≠ CVEが無い

鎖

でも、別の道があった

multipart + LFI

鎖の流れ

実測結果

設定では止まらない

cleanup=1 でも

enabled=0 でも

use_strict_mode=1 でも

対策

緩和策の強弱

パッチ後に確定すること

持ち帰れること

まとめ

ありがとうございました

One more thing

23:00 JST、公式パッチが出る

そのとき、この結論を更新する

もし間違っていたら、隠さず撤回する

← → 移動 ・ f フルスクリーン ・ o 一覧 ・ p 発表者
記事版を読む →