🇰🇷 한글 설명
Spring Framework의 XML 파서가 인라인 DTD 선언을 제대로 검증하지 못하여, 악의적인 XML 파일을 통해 메모리를 과도하게 소비하도록 유도할 수 있는 취약점입니다. DTD가 완전히 비활성화되지 않은 경우에만 악용 가능하며, 공격자는 이를 이용해 서비스 거부(DoS) 공격을 수행할 수 있습니다.
💡 쉬운 설명
Spring 웹 서버가 특수하게 제작된 XML 파일을 받으면 메모리를 계속 잡아먹어서 시스템이 먹통이 될 수 있습니다. 원격 공격자가 이 파일을 보내기만 하면 서버를 마비시킬 수 있습니다.
🇺🇸 원문 (English)
Pivotal Spring Framework before 3.2.14 and 4.x before 4.1.7 do not properly process inline DTD declarations when DTD is not entirely disabled, which allows remote attackers to cause a denial of service (memory consumption and out-of-memory errors) via a crafted XML file.
📍 영향받는 시스템
Spring Framework 3.2.13 이하, 4.0.0 ~ 4.1.6 버전
⚔️ 공격 벡터
인라인 DTD 선언을 포함한 악의적인 XML을 HTTP 요청으로 전송하여 서버 메모리 고갈 유발
🛡️ 대응 방법
Spring Framework를 3.2.14 이상 또는 4.1.7 이상으로 업그레이드하거나 DTD 처리 비활성화
🔧 검증 코드
pom.xml이나 build.gradle에서 spring-core/spring-web 버전을 확인하여 패치 버전 여부 판단
find . -name '*.jar' -o -name 'pom.xml' -o -name 'build.gradle' 2>/dev/null | xargs grep -l 'spring-core\|spring-web' 2>/dev/null | head -1