
Spring-Boot를 사용한 CVE-2025-24813 POC
Tomcat은 두 가지 별도의 취약점으로 인해 취약합니다. 첫 번째는 DefaultServlet의 약점으로, 부분 PUT(partial put)을 통해 임시 디렉터리에 파일을 쓸 수 있습니다. 참조: https://github.com/apache/tomcat/blob/f2a274bc00cf73670a614999561c69a391b5e35f/java/org/apache/catalina/servlets/DefaultServlet.java#L608
두 번째는 FileStore 클래스로, 임시 디렉터리의 모든 .session 파일을 역직렬화합니다. 참조: https://github.com/apache/tomcat/blob/05a72ef525e41835aaf5ce3d04122970f4aa8c21/java/org/apache/catalina/session/FileStore.java#L202
애플리케이션은 CVE-2025-24813에 취약한 Tomcat 10.1.24(Spring-Boot 3.3.0에 포함)를 사용하며 다음과 같이 구성합니다.
PersistentManager 및 FileStore를 사용한 파일 기반 세션 영속화server.servlet.register-default-servlet=true)readonly=false)템플릿 참조: https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2025/CVE-2025-24813.yaml
Filestore 핸들러가 세션 파일을 가져와 페이로드를 실행하는 데 시간이 걸리므로 60초의 쿨다운 기간이 필요합니다:
nuclei -target http://localhost:8080/ -t http/cves/2025/CVE-2025-24813.yaml -interactions-cooldown-period 60 -v