🇰🇷 한글 설명
@Query 어노테이션이 사용된 Spring Data MongoDB 저장소 쿼리 메서드에서 정규식 파라미터 바인딩 시 검증이 불충분하게 이루어집니다. 공격자가 조작된 문자열을 입력하여 의도된 정규식 인용구를 벗어날 수 있습니다.
💡 쉬운 설명
데이터베이스 검색 시 사용하는 특수 문자를 제대로 걸러내지 못하는 문제입니다. 공격자가 특수한 문자를 입력해 검색 규칙을 망가뜨리고 원치 않는 데이터를 조회할 수 있습니다.
🇺🇸 원문 (English)
Spring Data MongoDB repository query methods annotated with @Query that use regex parameter binding perform insufficient validation of the bound parameter. An attacker can supply a crafted string to break out of the intended regular expression quoting.
Affected versions:
Spring Data MongoDB 5.0.0 through 5.0.5; 4.5.0 through 4.5.11; 4.4.0 through 4.4.14; 4.3.0 through 4.3.16; 4.2.0 through 4.2.15; 4.1.0 through 4.1.14; 4.0.0 through 4.0.15; 3.4.0 through 3.4.19.
📍 영향받는 시스템
Spring Data MongoDB 5.0.0-5.0.5, 4.5.0-4.5.11, 4.4.0-4.4.14, 4.3.0-4.3.16, 4.2.0-4.2.15, 4.1.0-4.1.14, 4.0.0-4.0.15, 3.4.0-3.4.19
⚔️ 공격 벡터
정규식 문법을 포함한 조작된 문자열을 파라미터로 전달하여 쿼리 로직을 우회함
🛡️ 대응 방법
취약점이 해결된 최신 버전의 Spring Data MongoDB로 업데이트하십시오.
🔧 검증 코드
출력된 spring-data-mongodb의 버전이 영향받는 버전 범위에 포함되는지 확인하십시오.
mvn dependency:list | grep spring-data-mongodb