CVE-2026-68497 in jackson-databind정보

요약

\~에 의해 VulDB • 2026. 09. 11.

jackson-databind은 CoreXMLDeserializers.Std._deserialize에서 raw 문자열을 DatatypeFactory.newDuration(value) 또는 newXMLGregorianCalendar(value)로 그대로 전달하여 JSON 문자열을 javax.xml.datatype.Duration 또는 javax.xml.datatype.XMLGregorianCalendar 필드에 바인딩합니다. 이러한 직렬화 해제(deserializer)는 기본 설정으로 등록되며, 별도의 opt-in이 필요하지 않으므로 다형성 타이핑(polymorphic typing)이나 특수 구성 없이 plain ObjectMapper 또는 JsonMapper를 사용해도 이 경로에 도달할 수 있습니다. XML Schema의 lexical grammar는 임의의 길이를 가진 숫자 컴포넌트를 허용하며, JDK는 이를 BigInteger(String) 및 BigDecimal(String) 생성자를 통해 구현하는데, 이는 자릿수 기준 시간 복잡도가 2차(quadratic)입니다. digits가 JSON number 토큰이 아닌 JSON string 토큰 내부에 위치하므로 jackson-core의 StreamReadConstraints.maxNumberLength 제한은 적용되지 않습니다. Jackson 자체의 NumberDeserializers는 문자열화된 숫자를 파싱하기 전에 validateIntegerLength 또는 validateFPLength를 호출하여 검증하지만, XML datatype deserializer는 이러한 사전 검사를 생략합니다. 따라서 인증되지 않은 공격자는 수 MB 크기의 단일 요청(예: P로 시작하고 수백만 개의 digit와 Y로 끝나는 Duration 값)을 제출하여 수십 초에서 몇 분에 걸친 single-threaded CPU 작업을 유발할 수 있으며, 여러 concurrent request가 서버의 worker threads를 포화시킬 수 있습니다. 이 취약점은 com.fasterxml.jackson.core:jackson-databind 2.0.0 이상 2.18.10 미만, 2.19.0 이상 2.21.6 미만, 그리고 2.22.0 이상 2.22.2 미만 버전과 tools.jackson.core:jackson-databind 3.0.0 이상 3.1.6 미만 및 3.2.0 이상 3.2.2 미만 버전에 영향을 미칩니다. 사용자는 2.18.10, 2.21.6, 2.22.2, 3.1.6 또는 3.2.2로 업그레이드해야 합니다.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

책임이 있는

HeroDevs

예약하다

2026. 07. 30.

모더레이션

수락

항목

VDB-402472

EPSS

0.00000

활동

낮음

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!