지원 종료(EOL)된 PHP용 php2shell 패치(CVE-2026-109618 및 CVE-2026-109619)가 출시되었습니다. 수요가 많아 평소보다 영업팀의 답변이 늦어지고 있으므로, 패치된 패키지를 가장 빠르게 확보하려면 온라인에서 Runtimes용 ELS를 구매하시기 바랍니다 (새 탭에서 열림). | 패치 FAQ 읽어보기
이 CVE는 TuxCare 팀과
에 의해 해결되었으며,
Spring® 사용자를 위한 패치가 ELS에 제공되었습니다.
Spring® 프레임워크는 자바 애플리케이션 구축을 위한 포괄적인 오픈소스 프레임워크입니다. 의존성 주입(DI), 측면 지향 프로그래밍(AOP), 트랜잭션 관리를 제공하여 자바 개발을 보다 모듈화되고 효율적으로 만듭니다.
Spring® Web은 Java로 웹 애플리케이션과 RESTful 서비스를 구축하기 위해 설계된Spring® Framework의 모듈입니다. 서블릿 기반 요청 처리, REST API 지원,Spring® Web MVC와의 통합 등 필수적인 웹 기능을 제공합니다. Spring® Web MVC는 Spring® Framework 내의 모듈로, 웹 애플리케이션 구축을 위한 강력한 모델-뷰-컨트롤러(MVC) 아키텍처를 제공합니다. Spring® WebFlux는Spring® 5에서 도입된 반응형, 비차단 웹 프레임워크입니다. Project Reactor (반응형 스트림)를 사용하여 비동기적이고 이벤트 주도적인 웹 애플리케이션을 처리하도록 설계되었습니다.
제한된 디렉토리에 대한 경로명의 부적절한 제한('경로 통과')은 제품이 외부 입력을 사용하여 제한된 상위 디렉터리 아래에 있는 파일 또는 디렉토리를 식별하기 위한 경로명을 구성할 때 발생하지만 제품이 경로명 내의 특수 요소를 제대로 무력화하지 않아 경로명이 제한된 디렉토리 외부의 위치로 확인될 수 있는 경우 발생합니다.
CVE-2024-38819은 심각도가 높은 경로 탐색(Path Traversal) 취약점으로, 정적 리소스를 제공하기 위해 WebMvc.fn 또는 WebFlux.fn 기능형 웹 프레임워크를 사용하는 애플리케이션에 영향을 미칩니다. 공격자는 악의적인 HTTP 요청을 조작하여Spring® 애플리케이션 프로세스가 접근할 수 있는 파일 시스템 내의 모든 파일을 가져올 수 있도록 이 취약점을 악용할 수 있습니다.
이 문제는 여러 버전에 영향을 미칩니다:
org.springframework:spring-webflux
패키지를 사용합니다,
org.springframework:spring-webmvc
패키지를 사용합니다.
| 취약점 서류 | |
| CVE ID | 38819 |
| 위험도 | 높음: 7.5 |
| CWE-ID 및 유형 | CWE-22: 제한된 디렉터리에 대한 경로 이름의 부적절한 제한('경로 탐색') |
| 영향받는 프로젝트 |
Spring® 프레임워크 |
| 영향을 받는 패키지 | 스프링-웹플럭스
spring-webmvc |
| 영향을 받는 버전 | All prior 5.3.0, <5.3.0;5.3.40>,<6.0.0;6.0.24>,<6.1.0;6.1.13> |
| NVD 게시 날짜 | 2024년 12월 19일(Spring.io: 2024년 10월 17일) |
| TuxCare 수정 날짜 | 2025년 3월 19일 |
| TuxCare 고정 버전 | 5.3.39tuxcare.3 |
https://mvnrepository.com/artifact/org.springframework/spring-webflux
https://mvnrepository.com/artifact/org.springframework/spring-webmvc
애플리케이션에서
공격자는 악성 HTTP 요청을 조작하여 경로 탐색 공격을 수행함으로써 애플리케이션 프로세스에 읽기 권한이 있는 서버의 파일 시스템에 있는 모든 파일에 액세스할 수 있습니다.
라우터 함수를 사용하고 파일 시스템에서 파일을 제공하는 앱(예: FileSystemResource 사용)에서 공격자는 다음과 같은 경로를 요청할 수 있습니다:
/public/../../../../etc/passwd
...민감한 파일을 읽을 수 있습니다.
Spring® WebFlux.fn 및 Spring® WebMvc.fn 애플리케이션 모두에 영향을 미치므로, 다양한 웹 스택 전반에 걸쳐 관련성이 있습니다.
@Configuration
공용 클래스 StaticResourceConfig {
@Bean
public RouterFunction<ServerResponse> staticRoutes() {
반환 라우터기능.자원("/파일/**", 새로운 파일시스템자원("/사용자/서버/경로"));
}
}
이렇게 하면 /files/ URL 경로 아래에/your/server/path의파일이 노출됩니다 .
/your/server/path/index.html
로 이동합니다:
http://localhost:8080/files/index.html
✅ 작동하고 파일을 반환해야 합니다.
접속해 보세요:
http://localhost:8080/files/../../../etc/passwd
또는 인코딩된 경우
http://localhost:8080/files/..%2f..%2f..%2f..%2fetc%2fpasswd
취약한 경우 앱은 /etc/passwd의 내용(또는 허용된 디렉토리 외부의 읽기 가능한 파일)으로 응답합니다.
Spring® Framework 5.3.x는 오픈소스 커뮤니티에서 더 이상 지원되지 않습니다. 해당 버전의 지원 종료일(End of Life)은 2023년 6월 30일입니다. 이는 단순히 해당 날짜 이후로 이 문제를 해결하기 위한 업데이트를 받지 않음을 의미합니다.
영향을 받는 컴포넌트의 사용자는 다음 완화 조치 중 하나를 적용해야 합니다:
이 취약점에 대한 패치가 다른Spring® Framework 버전에 필요한 경우, 저희에게 연락해 주십시오. 도움을 드리겠습니다!