🇰🇷 한글 설명
Spring Framework의 StAX XMLInputFactory에서 외부 엔티티 해석이 비활성화되지 않아 발생하는 XXE 취약점이다. 공격자는 특수 제작된 XML을 통해 임의 파일 읽기, 서비스 거부, CSRF 공격을 수행할 수 있다.
💡 쉬운 설명
Spring 웹 프레임워크가 XML 파일을 안전하지 않게 처리하여 악의적인 XML을 이용해 서버의 파일을 도둑맞거나 서비스를 마비시킬 수 있다. 이를 XXE 공격이라 한다.
🇺🇸 원문 (English)
The Spring MVC in Spring Framework before 3.2.4 and 4.0.0.M1 through 4.0.0.M2 does not disable external entity resolution for the StAX XMLInputFactory, which allows context-dependent attackers to read arbitrary files, cause a denial of service, and conduct CSRF attacks via crafted XML with JAXB, aka an XML External Entity (XXE) issue, and a different vulnerability than CVE-2013-4152. NOTE: this issue was SPLIT from CVE-2013-4152 due to different affected versions.
📍 영향받는 시스템
Spring Framework 3.2.4 이전 버전, 4.0.0.M1~M2 버전
⚔️ 공격 벡터
특수 제작된 JAXB XML 페이로드를 애플리케이션으로 전송하여 XXE 공격 실행
🛡️ 대응 방법
Spring Framework를 3.2.4 이상 또는 4.0.0.M3 이상으로 업그레이드하고 StAX XMLInputFactory의 외부 엔티티 해석 비활성화
🔧 검증 코드
결과가 출력되면 해당 버전이 설치되어 있다는 의미이며, CVE-2013-7315에 취약함을 의미한다.
grep -E 'version>(3\.2\.[0-3]|4\.0\.0\.M[12])<|"(3\.2\.[0-3]|4\.0\.0\.M[12])"' pom.xml build.gradle 2>/dev/null