■ 표준프레임워크 v4.x, v5.x 기반인 Spring5, Spring6의 EOS(End of Support)에 대해 보안 백포팅 대응
Spring EOS(End of Support) 주기가 짧아지고 있으며
EOS 버전의 경우 Spring 그룹의 유료 Enterprise 구독서비스 만을 통하여 업그레이드 서비스가 가능하기 때문에
표준프레임워크는 보안 백포팅을 통하여 취약점을 패치한 버전을 제공합니다.
추후 새로운 패치 버전이 나오는경우 보안 백포팅을 통하여 즉시 표준프레임워크 실행환경 패치 버전을 제공할 예정입니다.
* 백포팅(Backporting) : 최신 소프트웨어 버전에서 개발된 보안 패치나 새로운 기능을 이전(하위) 버전으로 이식하는 작업
■ 실행환경 v5.1.0 (beta) 적용 방법 및 백포팅으로 해소된 취약점.
* [Maven] 표준프레임워크 5.1 Boot Parent POM
<!-- eGovFramework Boot Parent 설정 -->
<parent>
<groupId>org.egovframe.boot</groupId>
<artifactId>egovframe-boot-starter-parent</artifactId>
<version>5.1.0</version>
<relativePath/>
</parent> |
* [Maven] 표준프레임워크 5.1 Web Parent POM (WAS 기반 배포)
<!-- eGovFramework Web Parent 설정 (WAS 기반 배포) -->
<parent>
<groupId>org.egovframe.web</groupId>
<artifactId>egovframe-web-config-parent</artifactId>
<version>5.1.0</version>
</parent> |
* 보안 백포팅으로 해소된 취약점
Spring Security CVE-2026-59270(Critical) : 내장 LDAP 서버(UnboundIdContainer)가 모든 네트워크 인터페이스에서 수신해 외부에 노출되는 취약점
Spring Security CVE-2026-41707(High) : DPoP 증명(proof)의 재사용을 막는 캐시를 우회해 같은 증명을 다시 쓸 수 있는 취약점
Spring Security CVE-2026-47841(High) : WebAuthn 인증 정보가 세션에 직렬화된 뒤 사용자 검증이 우회되는 취약점
Spring AI CVE-2026-47851(High) : 조작된 PDF의 목차(outline) 재귀 처리로 서비스 거부가 일어나는 취약점(PdfDocumentReader)
Spring AI CVE-2026-47852(High) : ONNX 모델 캐시가 로컬 파일로 대체될 수 있는 취약점
Spring Integration CVE-2026-59307(High) : JDBC 메시지 저장소의 역직렬화 허용 목록을 우회하는 취약점
Spring Integration CVE-2026-59324(High) : 비동기 fluxTransform에서 응답 헤더가 다른 메시지와 뒤섞이는 취약점
Spring AI CVE-2026-59294(Medium) : ResourceCacheService가 URI fragment를 경로에 써서 캐시 디렉터리 밖에 파일을 쓰는 취약점
■ 실행환경 v4.3.1 적용 방법 및 백포팅으로 해소된 취약점.
*
[Maven] 표준프레임워크 4.3.1 Boot Parent POM
<!-- eGovFramework Boot Parent 설정 -->
<parent>
<groupId>org.egovframe.boot</groupId>
<artifactId>org.egovframe.boot.starter.parent</artifactId>
<version>4.3.1</version>
<relativePath/>
</parent> |
* [Maven] 표준프레임워크 4.3.1 Web Parent POM (WAS 기반 배포)
<!-- eGovFramework Web Parent 설정 (WAS 기반 배포) -->
<parent>
<groupId>org.egovframe.web</groupId>
<artifactId>org.egovframe.web.config.parent</artifactId>
<version>4.3.1</version>
</parent> |
* 보안 백포팅으로 해소된 취약점
Spring Security CVE-2026-22732(Critical) : 응답 래퍼 OnCommittedResponseWrapper가 일부 헤더 설정 메서드를 재정의하지 않아 응답 커밋 시점의 보안 처리가 누락될 수 있는 취약점
Spring Security CVE-2025-22228(High) : BCryptPasswordEncoder가 72바이트를 넘는 비밀번호를 거부하지 않고 잘라서 처리해 뒷부분이 검증에 쓰이지 않는 취약점(새 비밀번호 인코딩만 거부, 기존 저장 비밀번호 검증은 유지)
Spring Framework CVE-2026-41842(High) : 정적 리소스 경로 검사가 불완전해 ../·WEB-INF·META-INF·이중 인코딩 경로로 검사를 우회할 수 있는 취약점(상위 6.2.19의 경로 검사 계약 전체 이식)
Spring Framework CVE-2024-38816(High) : 함수형 정적 리소스 처리(RouterFunctions)에서 경로 순회로 보호된 파일을 읽을 수 있는 취약점
Spring Framework CVE-2024-38819(High) : 위 38816의 후속 공지 - 경로 정규화(cleanPath) 우회로 여전히 가능하던 함수형 정적 리소스 경로 순회 취약점
Spring Framework CVE-2025-41249(High) : 해결되지 않은 제네릭 타입 계층의 오버라이드 메서드에서 애노테이션 탐색이 실패해 @Transactional·@PreAuthorize 같은 애노테이션이 조용히 적용되지 않는 취약점
Spring Framework CVE-2026-41845(High) : JavaScriptUtils.javaScriptEscape의 이스케이프가 불완전해 JavaScript 문맥에서 크로스 사이트 스크립팅이 가능한 취약점
Spring Framework CVE-2026-41849(High) : SpEL 반복 문자열 연산의 정수 오버플로·음수 개수 검사 누락으로 과대 메모리 할당(서비스 거부)이 가능한 취약점(5.3 전용 공지, 6.x 동등 수정 이식)
Spring Framework CVE-2026-41850(High) : SpEL 표현식 평가에 연산 횟수 상한이 없어 악의적 표현식으로 서비스 거부가 가능한 취약점(평가당 10,000회 상한 추가)
Spring Framework CVE-2026-41855(High) : JMS MappingJackson2MessageConverter가 메시지 헤더의 타입 정보로 임의 클래스를 역직렬화할 수 있는 취약점(신뢰 패키지 검사 추가, setTrustedPackages 설정 필요)
Spring Integration CVE-2026-59324(High) : fluxTransform에 넘긴 함수가 Message로 감싸지 않은 원시 payload를 내보내도 그대로 흘려보내던 취약점(출력 요소를 검사해 IllegalStateException으로 중단)
Spring Data Commons CVE-2026-41716(High) : 프로퍼티 경로·타입 정보 캐시가 상한 없이 커져 조작된 입력으로 메모리 고갈(서비스 거부)이 가능한 취약점(LRU 상한 512 등 5곳 보완)
Spring Data MongoDB CVE-2026-41717(High) : ParameterBindingDocumentCodec이 SpEL·플레이스홀더 결과 문자열을 다시 매개변수 바인딩으로 해석하는 이중 디코딩으로 쿼리 조작이 가능한 취약점
Spring Framework CVE-2026-41841(Medium) : 정적 리소스 캐시 키 충돌로 다른 리소스 내용이 노출될 수 있는 취약점
Spring Framework CVE-2026-41843(Medium) : 버전 붙은 정적 리소스 경로에서 버전 문자열을 반복 제거해 경로 순회가 가능한 취약점
■ 실행환경 v5.1 (beta) 및 실행환경 v4.3.1 라이브러리 구성
표준프레임워크 소개 > 구성 > 오픈소스 SW 현황
https://www.egovframe.go.kr/home/sub.do?menuNo=13