投稿者: HAL

  • php2shell(CVE-2026-109618 / CVE-2026-109619)

    2026 年 10 月 21 日、PHP 開発チームは、PHP コアランタイムに存在する 2 件の重大なリモートコード実行 (RCE) 脆弱性に対して緊急の修正パッチをリリースしました。これらの脆弱性は CVE-2026-109618 および CVE-2026-109619 として追跡されており、総称して PHP2Shell と呼ばれています。いずれも CVSS v4.0 で 9.2 (Critical: 緊急) と評価されており、認証されていない攻撃者が脆弱なサーバー上でコードを実行できます。修正済みのリリースバージョンは PHP 8.5.12、8.4.27、8.3.36、8.2.35 です。

    当該脆弱性群は、mod_php / php-fpm、WordPress / Laravel / Symfony 等様々な構成で攻撃が再現するとされています。これらは影響範囲の一部と考えられ、他の一般的な構成においても脆弱性が成立します。

    概要

    PHP2Shell の 2 つの脆弱性はいずれも外部からの任意コード実行脆弱性(認証不要の RCE) であり、アプリケーションコードが実行される前に PHP が multipart/form-data リクエスト (ブラウザがファイルアップロードに使用するリクエスト形式) を処理する方法に起因しています。
    大まかに言えば、CVE-2026-109618 は、リクエストの処理中に PHP がメモリ不足 (out-of-memory) に陥った際にメモリ破壊を引き起こします。CVE-2026-109619 は、あるリクエストが残した古いデータを、同じワーカープロセス上の後続のリクエストが再利用してしまう脆弱性です。

    影響緩和策

    本脆弱性の根本的な解決策は修正パッチ適用以外になく、これらの設定変更による脆弱性の完全な回避はできません。PHP の修正パッチの適用を最優先で進める必要があります。

    PHP の Session Upload Progress 機能・メモリ上限・バックトレース機能の無効化
    • post_max_size を設定し、巨大なリクエストボディを拒否する
    • multipart body を遮断する
    • max_requests=1 を設定する
    • max_input_nesting_level を下げ、リクエストの複雑さを制限する
    • 攻撃者が到達できる処理の致命的エラーや実行時間超過を解消する