
이 저장소는 cve-2021-29447에 대해 설명하고 자동으로 익스플로잇하기 위한 작은 스크립트를 제공합니다.
이 저장소는 WordPress 미디어 라이브러리를 통해 인증된 XML 외부 개체(XXE) 공격을 가능하게 한 심각한 보안 결함인 CVE-2021-29447 취약점에 대해 자세히 설명합니다. 또한 개념 증명(PoC)을 보여주는 자동 스크립트를 제공합니다.
이 취약점은 WordPress가 업로드된 오디오 파일의 메타데이터를 처리하는 과정에 존재했습니다. 구체적으로:
근본 원인: WordPress는 getID3 라이브러리를 사용하여 WAV 파일과 같은 미디어 파일에서 메타데이터를 파싱합니다. WAV 파일에는 iXML이라고 하는 XML 데이터 청크가 포함될 수 있습니다. 공격자는 악성 WAV 파일에 XML 콘텐츠를 포함시켜 취약한 라이브러리가 파싱할 때 XXE 공격을 트리거하도록 제작할 수 있습니다.
영향을 받는 버전: WordPress 5.6 ~ 5.7 버전.
주요 요구 사항: WordPress 설치가 PHP 8에서 실행 중이어야 합니다. PHP 8의 기본 Libxml2 구성 변경이 익스플로잇의 핵심이었기 때문입니다.
영향: 성공적인 익스플로잇은 임의 파일 노출(예: wp-config.php를 읽어 데이터베이스 자격 증명 획득) 및 서버 측 요청 위조(SSRF)로 이어질 수 있습니다.
다음은 iXML 서브청크에서 XML 데이터를 파싱하려는 코드 스니펫입니다:
./payload.sh로 스크립트를 실행합니다.