
2026/10/22 6:12
PHP ウェブリッチランタイム(CVE-2026-109618 および CVE-2026-109619)
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
この構成は、特定の Web アプリケーション攻撃をブロックするために設計された優先度の高いセキュリティルールPHP2Shell(優先度 0)を設定します。このルールはPOST メソッド(正確に)を使用して HTTP リクエストを監視し、クッキーが "PHPSESSID" を含んでいる場合、またはリクエストボディが "PHPSESSID" および特定文字列"PHP_SESSION_UPLOAD_PROGRESS"の両方を含む場合にトリガーされます。この設定は完全な可視性を備えており、「powershell」ソースを通じて CloudWatch メトリクスおよびサンプリングされたリクエストログを有効にします。セッション操作または未承認アクセスと関連付けられるこれらの攻撃パターンを検出した際、システムは即座にユーザーのアクセスをブロックします。管理者はメトリクス名PHP2Shellの下で詳細なアラートとログを CloudWatch に受け取ることで、アクティブな攻撃ベクターに対する監視を強化すると同時に、一般的なエクスプロイトに対して組織のパイプラインを効果的に強化することになります。
本文
CVE-2026-109619 用のカスタム WAF ルール:PHP2Shell
このルールは、CVE-2026-109619 と関連する PHP セッション管理機能の悪用をブロックすることを目的としています。 主要な検出対象は、以下の HTTP リクエストの特徴です。
- リクエストメソッド:
POST - クッキー:
の存在PHPSESSID - ボディ (Body):
が含まれていることPHPSESSID- または
が含まれていることPHP_SESSION_UPLOAD_PROGRESS
ルールのロジック詳細
このルールは以下の条件が全て満たされた場合にアクセスをブロックします。
- メソッド確認: リクエストメソッドが
でなければならない。POST - セッション識別子 (PHPSESSID) の検出:
- クッキーヘッダーに
キーが存在する、かつPHPSESSID - リクエストボディ (
) にBody
という文字列が含まれている。PHPSESSID
- クッキーヘッダーに
- アップロード進捗フラグの検出:
- リクエストボディに
という文字列が含まれている。PHP_SESSION_UPLOAD_PROGRESS
- リクエストボディに
JSON 設定データ
WAF への登録に必要な設定データを以下に示します。
{ "Name": "PHP2Shell", "Priority": 0, "Statement": { "AndStatement": { "Statements": [ { "ByteMatchStatement": { "SearchString": "POST", "FieldToMatch": { "Method": {} }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "EXACTLY" } }, { "OrStatement": { "Statements": [ { "ByteMatchStatement": { "SearchString": "PHPSESSID", "FieldToMatch": { "Cookies": { "MatchPattern": { "All": {} }, "MatchScope": "KEY", "OversizeHandling": "CONTINUE" } }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "EXACTLY" } }, { "ByteMatchStatement": { "SearchString": "PHPSESSID", "FieldToMatch": { "Body": { "OversizeHandling": "CONTINUE" } }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "CONTAINS" } } ] } }, { "ByteMatchStatement": { "SearchString": "PHP_SESSION_UPLOAD_PROGRESS", "FieldToMatch": { "Body": { "OversizeHandling": "CONTINUE" } }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "CONTAINS" } } ] } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "PHP2Shell" } }
アクション設定
- 対応動作: アクセスを**ブロック (
)**します。Block - 監視設定:
- サンプルリクエストの可視化が有効 (
:SampledRequestsEnabled
)true - CloudWatch メトリクスが有効 (
:CloudWatchMetricsEnabled
)true - メトリック名:
PHP2Shell
- サンプルリクエストの可視化が有効 (