스프링 HATEOAS 보안 패치 3종 배포

by DD
1일 전
조회수 0

스프링 헤테오어스(Spring HATEOAS) 3.1 GA(General Availability) 정식 버전과 3.0.7, 2.5.3 포인트 버전을 동시 배포함

의존성 업데이트(Dependency Updates)링크 파싱(Link Parsing) 개선 사항 포함

CVE-2026-41007: 무제한 캐싱(Unbounded Caching)으로 인한 힙 메모리 고갈(Heap Exhaustion) 취약점 수정

CVE-2026-41006: Collection+JSON/UBER 디시리얼라이저(Deserializer)에서 잭슨(Jackson) 설정 미적용 문제 수정

힙 메모리 고갈 취약점의 원인

CVE-2026-41007은 Spring HATEOAS 내부 캐싱 메커니즘이 입력 크기에 제한을 두지 않아 발생하는 힙 메모리 고갈(Heap Exhaustion) 취약점이다.

취약한 코드 경로: API 응답에 포함된 다량의 링크 또는 엔티티를 처리할 때 캐시가 무제한으로 성장

공격 시나리오: 악의적으로 조작된 큰 페이로드(Payload)를 연속으로 전송하면 OutOfMemoryError 발생 가능

권장 조치: 즉시 3.1 GA, 3.0.7, 2.5.3 이상 버전으로 업그레이드하여 캐시 크기 제한 활성화

리소스 관리의 중요성을 다시 한번 상기시키는 취약점이다.

잭슨(Jackson) 설정 미적용 문제의 이해

CVE-2026-41006는 Collection+JSONUBER 포맷 디시리얼라이저가 잭슨(Jackson)의 보안 설정을 무시하는 문제에서 비롯된다.

근본 원인: 디시리얼라이저가 사용자 정의 ObjectMapper 설정을 적용하지 않고 기본 구성 사용

잠재적 위험: 외부 입력에 대한 디시리얼라이제이션(Deserialization) 처리 시 예상치 못한 동작 발생 가능

영향을 받는 버전: 3.1 GA 이전, 3.0.7 이전, 2.5.3 이전 모든 버전

사용자 지정 잭슨 설정(커스텀 타입 변환, 보안 필터 등)을 활용 중이라면 반드시 패치 적용이 필요하다.

스프링 헤테오어스(Spring HATEOAS)의 역할과 하이퍼미디어 API

스프링 헤테오어스(Spring HATEOAS)는 RESTful API에 하이퍼미디어 컨트롤(Hypermedia Controls)을 손쉽게 추가할 수 있도록 설계된 스프링 부트(Spring Boot) 통합 라이브러리이다.

주요 기능: RepresentationalModel, EntityModel, WebMvcLinkBuilder 등을 통한 링크 빌딩(Link Building) 추상화

프로토콜 지원: HAL(Hypertext Application Language), HAL-FORMS, Collection+JSON, UBER, RFC 6749

스프링 데이터(Spring Data) REST와의 결합: Repository 기반 자동 REST API 생성 시 하이퍼미디어 자동 적용

마이크로서비스(Microservices) 환경에서 API 진화(Evolution)와 클라이언트-서버 자율성을 확보하는 데 핵심적인 역할을 한다.

Spring HATEOAS 3.1 GA, 3.0.7, and 2.5.3 released