🔍 CVE-2026-32874

7.5
CVSS Score
HIGH
2026-03-20
2026-07-15 02:20
✅ 완료

🇰🇷 한글 설명

UltraJSON의 5.4.0부터 5.11.0 버전에서 매우 큰 정수를 파싱할 때 메모리 누수가 발생하는 취약점이 발견되었습니다. 공격자가 조작된 JSON 데이터를 전송하면 메모리가 지속적으로 소모되어 서비스 거부(DoS) 상태를 유발할 수 있습니다.

💡 쉬운 설명

프로그램이 숫자를 읽을 때 메모리를 제대로 비우지 못하고 계속 쌓아두는 버그가 있습니다. 나쁜 의도를 가진 사람이 아주 큰 숫자가 포함된 데이터를 계속 보내면 컴퓨터의 메모리가 가득 차서 프로그램이 멈출 수 있습니다.

🇺🇸 원문 (English)

UltraJSON is a fast JSON encoder and decoder written in pure C with bindings for Python 3.7+. Versions 5.4.0 through 5.11.0 contain an accumulating memory leak in JSON parsing large (outside of the range [-2^63, 2^64 - 1]) integers. The leaked memory is a copy of the string form of the integer plus an additional NULL byte. The leak occurs irrespective of whether the integer parses successfully or is rejected due to having more than sys.get_int_max_str_digits() digits, meaning that any sized leak per malicious JSON can be achieved provided that there is no limit on the overall size of the payload. Any service that calls ujson.load()/ujson.loads()/ujson.decode() on untrusted inputs is affected and vulnerable to denial of service attacks. This issue has been fixed in version 5.12.0.

📍 영향받는 시스템

UltraJSON 5.4.0 ~ 5.11.0 버전

⚔️ 공격 벡터

신뢰할 수 없는 외부 입력값에 대해 ujson.load(), ujson.loads(), ujson.decode() 함수를 호출할 때 발생

🛡️ 대응 방법

UltraJSON을 5.12.0 이상의 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 5.4.0 미만이거나 5.11.0 이하인지 확인하여 취약 여부를 판단합니다.

Shell / Script
pip show ujson | grep Version

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Python