🇰🇷 한글 설명
Apache CXF의 SOAP 메시지에서 DTD를 적절히 검증하지 않아 XXE(XML External Entity) 공격이 가능한 취약점입니다. 공격자가 악의적인 DTD를 포함한 메시지로 임의의 파일 읽기, 내부 네트워크 접근, DoS 공격을 수행할 수 있습니다.
💡 쉬운 설명
Apache CXF 라이브러리가 위험한 XML 파일 형식을 제대로 차단하지 못해 공격자가 서버 파일을 읽거나 내부 시스템을 공격할 수 있습니다. 영향받는 버전을 사용하는 모든 서비스가 위험합니다.
🇺🇸 원문 (English)
Apache CXF 2.0.x before 2.0.13, 2.1.x before 2.1.10, and 2.2.x before 2.2.9, as used in Apache ServiceMix, Apache Camel, Apache Chemistry, Apache jUDDI, Apache Geronimo, and other products, does not properly reject DTDs in SOAP messages, which allows remote attackers to read arbitrary files, send HTTP requests to intranet servers, or cause a denial of service (CPU and memory consumption) via a crafted DTD, as demonstrated by an entity declaration in a request to samples/wsdl_first_pure_xml, a similar issue to CVE-2010-1632.
📍 영향받는 시스템
Apache CXF 2.0.x (< 2.0.13), 2.1.x (< 2.1.10), 2.2.x (< 2.2.9) 및 ServiceMix, Camel, Chemistry, jUDDI, Geronimo 등 CXF 기반 제품
⚔️ 공격 벡터
SOAP 웹 서비스 엔드포인트에 악의적인 DTD를 포함한 XML 메시지 전송
🛡️ 대응 방법
CXF를 2.0.13, 2.1.10, 2.2.9 이상으로 업그레이드 또는 DTD 처리 비활성화 보안 패치 적용
🔧 검증 코드
찾아진 JAR 파일의 버전이 2.0.13, 2.1.10, 2.2.9 미만이면 취약. pom.xml이나 build.gradle의 CXF 버전 태그로도 확인 가능.
find / -name 'cxf-*.jar' 2>/dev/null | xargs -I {} basename {} .jar | sed 's/cxf-//'