🇰🇷 한글 설명
Apache Tomcat의 Default Servlet에서 경로 등가성(Path Equivalence) 문제로 인해 원격 코드 실행(RCE) 또는 정보 유출이 발생할 수 있는 취약점입니다. 특정 설정(Default Servlet 쓰기 활성화 및 Partial PUT 지원)이 결합될 경우, 공격자가 보안 민감 파일에 내용을 주입하거나 악성 코드를 실행할 수 있습니다.
💡 쉬운 설명
서버의 파일 저장 규칙에 허점이 있어, 공격자가 정상적인 파일인 것처럼 속여 서버에 악성 파일을 올리거나 중요한 정보를 훔칠 수 있는 문제입니다. 서버 설정이 특정 조건에 해당할 경우 해커가 서버를 마음대로 조종할 수도 있습니다.
🇺🇸 원문 (English)
Path Equivalence: 'file.Name' (Internal Dot) leading to Remote Code Execution and/or Information disclosure and/or malicious content added to uploaded files via write enabled Default Servlet in Apache Tomcat.
This issue affects Apache Tomcat: from 11.0.0-M1 through 11.0.2, from 10.1.0-M1 through 10.1.34, from 9.0.0.M1 through 9.0.98.
The following versions were EOL at the time the CVE was created but are
known to be affected: 8.5.0 though 8.5.100. Other, older, EOL versions
may also be affected.
If all of the following were true, a malicious user was able to view security sensitive files and/or inject content into those files:
- writes enabled for the default servlet (disabled by default)
- support for partial PUT (enabled by default)
- a target URL for security sensitive uploads that was a sub-directory of a target URL for public uploads
- attacker knowledge of the names of security sensitive files being uploaded
- the security sensitive files also being uploaded via partial PUT
If all of the following were true, a malicious user was able to perform remote code execution:
- writes enabled for the default servlet (disabled by default)
- support for partial PUT (enabled by default)
- application was using Tomcat's file based session persistence with the default storage location
- application included a library that may be leveraged in a deserialization attack
Users are recommended to upgrade to version 11.0.3, 10.1.35 or 9.0.99, which fixes the issue.
📍 영향받는 시스템
Apache Tomcat 11.0.0-M1 ~ 11.0.2, 10.1.0-M1 ~ 10.1.34, 9.0.0.M1 ~ 9.0.98, 8.5.0 ~ 8.5.100 (EOL 포함)
⚔️ 공격 벡터
Default Servlet의 쓰기 기능과 Partial PUT 기능이 활성화된 상태에서 경로 조작을 통한 파일 주입 및 역직렬화 공격
🛡️ 대응 방법
Apache Tomcat을 최신 패치 버전인 11.0.3, 10.1.35 또는 9.0.99 이상으로 업그레이드하십시오.
🔧 검증 코드
출력된 Server version이 취약한 버전 범위에 포함되는지 확인하십시오.
echo $CATALINA_HOME/bin/version.sh | xargs -I {} sh -c '{} | grep -E 'Server version:'