Public PoC Released for Deserialization RCE Vulnerability in Splunk Secure Gateway
2026/06/29 CyberSecurityNews — Splunk Secure Gateway (SSG) に影響を及ぼす、深刻なリモート・コード実行 (RCE) の脆弱性 CVE-2026-20251 の PoC エクスプロイトが公開された。この脆弱性の CVSS スコアは 8.8 と評価されており、低権限の認証済み攻撃者であれば、管理者やパワー・ユーザーのロールを必要とせずに、Splunk ホスト・サーバ上で任意のコードを実行できる。

脆弱性 CVE-2026-20251 は、Splunk Secure Gateway のアラート処理パイプラインに存在する欠陥である。このコンポーネントにより、Splunk の App Key Value Store (KV Store) の mobile_alerts コレクションから、攻撃者が制御するドキュメントが読み取られる。それらのドキュメントは、Python のデシリアライゼーション・ライブラリである jsonpickle.decode() に受け渡され、細工された JSON から任意の Python オブジェクトへと再構築される。
この呼び出しでは、”safe=True” が設定されているが、このフラグがブロックするのはレガシーな py/repr 評価パスのみである。その一方で、py/reduce/py/object/py/type/py/function/py/module などの重要なガジェット・タグは、完全に悪用できる状態で維持されている。
Splunk Secure Gateway の RCE 脆弱性
危険なタグのブロックを目的とする二次バリデータ check_alert_data_valid_json は、最初に認識されたキーで処理を打ち切る仕様となっている。そのため、最上位の最初のキーが spacebridgeapp で始まる許可済みの py/object 値である場合に、この関数は直ちに True を返し、埋め込まれた py/reduce ガジェットを含む兄弟キーを一切検査しない構造となっている。
このエクスプロイトの条件としては、有効な低権限の Splunk アカウントのみが必要となる。攻撃者は Splunk REST API を介して、特別に細工されたバイパス用ドキュメントを mobile_alerts KV Store コレクションへ書き込める。
SSG がアラート取得リクエストを処理すると、”alerts_request_processor.py” がドキュメントを読み込み、おとりとなる py/object キーに騙されるバリデータが、ドキュメントの通過を許可してしまう。その後に、jsonpickle.decode() が悪意のオブジェクトを再構築し、任意の OS コマンドの実行を引き起こす。
このロジック上の欠陥が、バイパス用ドキュメントの構造により悪用される。
{
"py/object": "spacebridgeapp.data.alert_data.Alert",
"notification": {
"py/reduce": [
{"py/function": "subprocess.check_output"},
{"py/tuple": [["uname", "-a"]]}
]
}
}
バリデータは、py/object キーに基づいてドキュメントを承認するため、悪意の notification ペイロードには到達しない。
ReactiveZero Security Research の研究者である Fady Oueslati は、2026年6月26日に参照番号 2026FO-SPLUNK-20251 として、PoC (poc_cve_2026_20251.py) を公開した。この PoC は、細工されたドキュメントに対して True を返すバリデータ・バイパスと、”safe=True” の状態で py/reduce が実行されるという、2 つの独立した条件を実証している。
使用されたペイロードは意図的に無害な uname -a であり、Splunk Enterprise 10.0.6 上で動作する SSG 3.9.19 環境でテストが実施された。
それぞれの組織に推奨されるのは、以下のバージョンへの速やかなアップグレードである。
- Splunk Secure Gateway:バージョン 3.9.20/3.10.6/3.8.67
- Splunk Enterprise:バージョン 10.0.7/10.2.4/10.4.0 以降
迅速なパッチ適用が不可能な場合には、短期的な緩和策として Splunk Secure Gateway アプリの無効化または削除が推奨される。ただし、これにより Splunk Mobile/Spacebridge/Mission Control の機能は使用できなくなる。
セキュリティ・チームにとって必要なことは、最小権限ロールの適用と、KV Store の書き込みアクセスの mobile_alerts コレクションへの制限に加えて、攻撃者が到達可能なコード・パスで使用される jsonpickle.decode() を、厳格なスキーマ検証を行うパーサに置き換えることである。
訳者後書:今回の脆弱性 CVE-2026-20251 は、プログラムの検証ロジックとデータ処理の仕組みに問題の原因があります。 データを復元する機能で、危険なタグを完全に防げていないことに加え、不審なデータをチェックする機能が最初の要素だけを見て安全だと誤認してしまう構造になっていました。 この 2 つの不備が重なった結果、攻撃者が用意した不正なコマンドが検査をすり抜けてそのまま実行されてしまいます。 低権限のアカウントであってもシステム内で任意のコードが動かせてしまうため、影響が大きくなっています。 ご利用のチームは、ご注意ください。よろしければ、Splunk での検索結果も、ご参照ください。
You must be logged in to post a comment.