🇰🇷 한글 설명
Spring Framework의 Jaxb2RootElementHttpMessageConverter가 외부 엔티티 해석을 비활성화하지 않아 발생하는 XXE 취약점입니다. 공격자가 조작된 XML을 전송하여 서버의 임의 파일을 읽거나 서비스 거부, CSRF 공격을 수행할 수 있습니다. 이는 이전 CVE들의 불완전한 패치로 인한 재발 취약점입니다.
💡 쉬운 설명
Spring 웹 애플리케이션이 특수하게 만들어진 XML 파일을 안전하지 않게 처리하면, 해커가 서버의 비밀 파일을 훔치거나 서비스를 중단시킬 수 있습니다. Spring Framework를 사용하는 웹 서비스에서 XML 데이터를 받을 때 발생하는 문제입니다.
🇺🇸 원문 (English)
The Jaxb2RootElementHttpMessageConverter in Spring MVC in Spring Framework before 3.2.8 and 4.0.0 before 4.0.2 does not disable external entity resolution, which allows remote attackers to read arbitrary files, cause a denial of service, and conduct CSRF attacks via crafted XML, aka an XML External Entity (XXE) issue. NOTE: this vulnerability exists because of an incomplete fix for CVE-2013-4152, CVE-2013-7315, and CVE-2013-6429.
📍 영향받는 시스템
Spring Framework 3.2.8 이전, Spring MVC 4.0.0~4.0.1
⚔️ 공격 벡터
XML 페이로드에 외부 엔티티 정의(DOCTYPE)를 포함시켜 POST 요청으로 전송
🛡️ 대응 방법
Spring Framework를 3.2.8, 4.0.2 이상으로 업그레이드
🔧 검증 코드
출력된 버전이 3.2.8 이상 또는 4.0.2 이상이면 안전, 그 이하면 취약
find / -name 'spring-webmvc*.jar' -o -name 'spring-framework*.jar' 2>/dev/null | xargs -I {} basename {} | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'