🔍 CVE-2026-54911

6.5
CVSS Score
MEDIUM
2026-06-22
2026-06-26 20:10
✅ 완료

🇰🇷 한글 설명

UltraJSON 5.13.0 미만 버전에서 ujson.dumps() 등의 함수에 reject_bytes=False 옵션을 사용할 경우, 잘못되었거나 잘린 UTF-8 바이트 시퀀스를 거부하지 않고 다른 유니코드 문자로 조용히 변환합니다. 이로 인해 입력값 검증 우회 및 데이터 무결성 문제가 발생할 수 있습니다.

💡 쉬운 설명

데이터를 처리할 때 잘못된 글자 형식이 들어와도 오류를 내지 않고 임의로 글자를 바꿔버리는 문제입니다. 이 과정에서 보안 검사를 통과해야 할 데이터가 변형되어 시스템에 문제를 일으킬 수 있습니다.

🇺🇸 원문 (English)

UltraJSON is a fast JSON encoder and decoder written in pure C with bindings for Python 3.7+. Prior to 5.13.0, ujson.dumps() (or ujson.dump() or ujson.encode()) have a reject_bytes=False option. When set, they may accept malformed or truncated UTF-8 byte sequences, silently rewriting them into different Unicode characters instead of rejecting them. This leads to input validation bypass and data integrity issues. This vulnerability is fixed in 5.13.0.

📍 영향받는 시스템

UltraJSON (ujson) 5.13.0 미만 버전

⚔️ 공격 벡터

잘못된 UTF-8 바이트 시퀀스를 포함한 데이터를 입력하여 입력값 검증 로직을 우회함

🛡️ 대응 방법

UltraJSON 라이브러리를 5.13.0 이상 버전으로 업데이트하거나 reject_bytes 옵션을 사용하지 않음

🔧 검증 코드

출력된 버전 번호가 5.13.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:L/I:L/A:N

💻 영향받는 소프트웨어

Python