Spring Framework Path Traversal Vulnerability (CVE-2024-38819) PoC Exploit Released
- 개요
- Spring Framework에서 WebMvc.fn 또는 WebFlux.fn을 사용해 정적 리소스를 제공하는 애플리케이션에서 경로 이동(Path Traversal) 취약점 발생
- 공격자는 특수하게 조작된 HTTP 요청을 통해 서버상의 권한 없는 파일(예: /etc/passwd)에 접근 가능
- 공개된 PoC를 통해 취약점의 심각성이 입증됨
- 취약점 상세
- 취약 버전
- Spring Boot 3.3.4 (Spring Framework 6.1.13 의존성 포함) 등에서 영향
- 심볼릭 링크를 이용해 정적 리소스 폴더를 외부 경로와 연결
- URL 인코딩된
..
(%2e%2e
)을 사용해 디렉터리 상위로 이동 가능
- 발생 원인
- RouterFunctions + FileSystemResource 구성 시, 파일 경로 검증 미흡
- 공격자가 심볼릭 링크 및 경로 인코딩을 이용해 부적절한 파일 접근 허용
- 취약 버전
- PoC 공격 흐름
- 환경 구성
- Spring Boot 3.3.4 기반 Docker 이미지 빌드
docker build -t cve-2024-38819-poc .
명령 실행
- 컨테이너 실행
docker run -d -p 8080:8080 --name cve-2024-38819-poc cve-2024-38819-poc
- 호스트 8080 포트로 컨테이너 접근 가능
- 취약점 악용
curl http://localhost:8080/static/link/%2e%2e/etc/passwd
- 정상 동작 시
/etc/passwd
내용이 반환되어 공격 성공 확인
- 환경 구성
- 기술적 배경
- RouterFunction 예시
public RouterFunction<ServerResponse> staticResourceRouter() { return RouterFunctions.resources("/static/**", new FileSystemResource("/app/static/")); }
- 심볼릭 링크 생성
- Dockerfile에서
/app/static/link
→/static
링크 설정
- Dockerfile에서
- 경로 이동
%2e%2e
는 URL 인코딩된..
로 상위 디렉터리 접근 가능
- 보안 권고
- 업데이트 적용
- Spring 측에서 공개한 패치 버전으로 업그레이드
- 파일 경로 검증
- 심볼릭 링크 사용 최소화, 정적 리소스 제공 시 Path 검증 및 화이트리스트 적용
- 로그 모니터링 및 접근 제어
- 디렉터리 트래버설 시도 탐지 규칙(IDS/IPS, WAF 등) 설정
- 서버 설정 변경(심볼릭 링크 사용 제한, 파일 권한 제한)
- 지속적인 패치 및 보안 점검
- 정기적으로 라이브러리 버전 확인 및 보안 업데이트 수행
- 업데이트 적용
'Kant's IT > Vulnerability' 카테고리의 다른 글
마이크로소프트 애저 다중인증 매커니즘에서 심각한 우회 취약점 발견돼 (0) | 2025.01.02 |
---|---|
CISA, BeyondTrust 원격 접근 취약점 긴급 패치 촉구 (0) | 2025.01.01 |
Foxit PDF Editor 취약점으로 인한 원격 코드 실행 가능성 (0) | 2025.01.01 |
Apache Struts 취약점(CVE-2024-53677) 악용 시도 경고 (0) | 2025.01.01 |
CISA, Adobe ColdFusion 및 Windows 취약점 실제 악용 경고 (0) | 2025.01.01 |