🇰🇷 한글 설명
UltraJSON 5.4.0 미만 버전에서 문자열 디코딩을 위한 버퍼 재할당 중 오류가 발생할 경우 버퍼가 두 번 해제되는 Double Free 취약점이 존재합니다. 다만, 내부 디코더 사용 방식의 특성상 Python 환경에서 이 취약점을 트리거하는 것은 불가능한 것으로 알려져 있습니다.
💡 쉬운 설명
프로그램이 메모리를 정리하는 과정에서 실수로 같은 공간을 두 번 지우려고 시도하는 오류입니다. 다행히 일반적인 파이썬 사용 환경에서는 이 오류를 일부러 일으키기가 매우 어렵습니다.
🇺🇸 원문 (English)
UltraJSON is a fast JSON encoder and decoder written in pure C with bindings for Python 3.7+. In versions prior to 5.4.0 an error occurring while reallocating a buffer for string decoding can cause the buffer to get freed twice. Due to how UltraJSON uses the internal decoder, this double free is impossible to trigger from Python. This issue has been resolved in version 5.4.0 and all users should upgrade to UltraJSON 5.4.0. There are no known workarounds for this issue.
📍 영향받는 시스템
UltraJSON 5.4.0 미만 버전
⚔️ 공격 벡터
내부 디코더를 이용한 특수한 메모리 재할당 유도 (Python 환경에서는 트리거 불가)
🛡️ 대응 방법
UltraJSON을 5.4.0 이상의 버전으로 업그레이드하십시오.
🔧 검증 코드
출력된 Version 값이 5.4.0 미만인지 확인하십시오.
pip show ujson | grep Version