🇰🇷 한글 설명
오픈 소스 JSON 파서인 Jawn 1.7.0 미만 버전에서 깊이 제한 없이 중첩된 JSON 배열 및 객체를 처리할 수 있는 취약점이 발견되었습니다. 공격자가 악의적인 JSON을 전송할 경우 JVM 힙 메모리가 고갈되어 java.lang.OutOfMemoryError가 발생하며, 이는 서비스 거부(DoS)로 이어집니다.
💡 쉬운 설명
JSON 데이터 안에 데이터를 계속해서 겹겹이 쌓아 보내는 방식으로 컴퓨터의 메모리를 모두 써버리게 만드는 공격입니다. 이로 인해 프로그램이 멈추거나 서버가 다운될 수 있습니다.
🇺🇸 원문 (English)
Jawn is an open source JSON parser. Prior to 1.7.0, Jawn parse methods accept arbitrarily deep JSON array and object nesting without a depth limit, allowing a remote attacker who can submit untrusted JSON to grow parser contexts until the JVM heap is exhausted. The resulting java.lang.OutOfMemoryError is a fatal Scala error that is not ordinarily handled by scala.util.Try or cats.effect.IO, causing denial of service. This issue is fixed in version 1.7.0.
📍 영향받는 시스템
Jawn library versions prior to 1.7.0
⚔️ 공격 벡터
신뢰할 수 없는 외부 JSON 데이터를 파서에 입력하여 메모리 고갈 유도
🛡️ 대응 방법
Jawn 라이브러리를 1.7.0 버전 이상으로 업데이트
🔧 검증 코드
프로젝트 의존성 설정 파일에서 Jawn의 버전을 확인하여 1.7.0 미만인지 체크합니다.
grep -r "jawn" . | grep -E 'version|dependency'