注目★★★★★GitHub Advisory
Skipper のセキュリティ修正に穴、超大型ボディが OPA ポリシーを迂回
30秒で把握
- 1Skipper の CVE-2026-50197 修正が不完全、超大型 Content-Length でペイロードが OPA ポリシーを迂回
- 2修正は chunked/HTTP/2 のみ対応、明示的な大型 Content-Length の処理漏れで OPA が空 parsed_body 評価
- 3deny-on-presence ポリシー(デフォルト allow)が無効化、input.attributes.request.http.truncated_body チェック推奨
要約
Skipper v0.26.10 の CVE-2026-50197 修正に不備があり、Content-Length が maxBodyBytes を超える HTTP リクエストが OPA ポリシーをすり抜ける。修正では chunked / HTTP/2 の場合のみ対応し、明示的に宣言された大型 Content-Length の処理を漏らした結果、OPA は空の parsed_body を評価して deny ルールを失敗させ、禁止ペイロードが upstream に到達する。deny-on-presence ポリシー(デフォルト allow: true、parsed_body に禁止パターンがあれば allow: false)の形では完全に無効化される。ポリシーチェックでは input.attributes.request.http.truncated_body を確認する必要がある。
あなたへの影響
Skipper を OPA と組み合わせて deny-on-presence 形ポリシーで API 保護しているチームは。
推奨:現在のバージョンを即確認し、アップグレード可否とワークアラウンド(truncated_body チェック追加)の導入を検討すること。