🇰🇷 한글 설명
Spring Data REST가 RFC 6902 JSON Patch 요청을 처리할 때 식별자(@Id) 및 버전(@Version) 속성에 대한 변조를 방지하지 못하는 취약점입니다. 공격자는 이를 통해 데이터의 고유 식별자나 낙관적 잠금 메커니즘을 우회하여 데이터 무결성을 해칠 수 있습니다.
💡 쉬운 설명
데이터를 수정할 때 사용되는 중요한 '이름표'나 '버전 번호'를 공격자가 마음대로 바꿀 수 있는 문제입니다. 이로 인해 데이터가 엉뚱한 값으로 바뀌거나 보안 규칙을 어길 위험이 있습니다.
🇺🇸 원문 (English)
Spring Data REST does not guard identifier (@Id) and version (@Version) properties against mutation via RFC 6902 JSON Patch (application/json-patch+json) requests.
Spring Data REST 5.1.0
Spring Data REST 5.0.0 - 5.0.6
Spring Data REST 4.5.0 - 4.5.12
Spring Data REST 4.0.0 - 4.4.15
Spring Data REST 3.7.20 and earlier
📍 영향받는 시스템
Spring Data REST 5.1.0, 5.0.0-5.0.6, 4.5.0-4.5.12, 4.0.0-4.4.15, 3.7.20 및 이전 버전
⚔️ 공격 벡터
application/json-patch+json 형식을 사용한 RFC 6902 JSON Patch 요청을 통해 @Id 또는 @Version 필드 변조
🛡️ 대응 방법
Spring Data REST를 취약점이 해결된 최신 보안 패치 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 현재 프로젝트가 사용 중인 spring-data-rest의 버전을 확인하여 취약 버전 범위에 포함되는지 체크합니다.
mvn dependency:list | grep 'spring-data-rest'