🇰🇷 한글 설명
3.9.4 미만 버전의 NLTK는 JSONTaggedDecoder.decode_obj()에서 경계가 없는 재귀 호출 취약점을 포함하고 있습니다. 공격자가 깊게 중첩된 JSON 구조를 제공하면 RecursionError가 발생하여 Python 프로세스가 중단되는 서비스 거부(DoS) 공격이 가능합니다.
💡 쉬운 설명
복잡하게 꼬인 JSON 데이터를 보내서 프로그램이 스스로 계산을 반복하다가 멈추게 만드는 공격입니다. 이로 인해 서비스가 중단되어 정상적인 이용이 불가능해질 수 있습니다.
🇺🇸 원문 (English)
NLTK versions before 3.9.4 contain an unbounded recursion vulnerability in JSONTaggedDecoder.decode_obj() that allows attackers to cause denial of service by supplying deeply nested JSON structures. Attackers can craft JSON payloads exceeding the recursion limit to trigger an unhandled RecursionError that crashes the Python process.
📍 영향받는 시스템
NLTK versions before 3.9.4
⚔️ 공격 벡터
악의적으로 조작된 깊은 중첩 구조의 JSON 페이로드를 전송
🛡️ 대응 방법
NLTK 라이브러리를 3.9.4 버전 이상으로 업데이트
🔧 검증 코드
출력된 버전 번호가 3.9.4 미만인지 확인
pip show nltk | grep Version