pyasn1 — это универсальная библиотека ASN.1 для Python. До версии 0.6.3 библиотека pyasn1 уязвима для атаки типа «отказ в обслуживании» (DoS), вызванной неконтролируемой рекурсией при декодировании данных ASN.1 с глубоко вложенными структурами. Злоумышленник может предоставить созданную полезную нагрузку, содержащую тысячи вложенных тегов SEQUENCE (0x30) или SET (0x31) с маркерами «неопределенной длины» (0x80).
Это заставляет декодер рекурсивно вызывать себя до тех пор, пока интерпретатор Python не выйдет из строя с ошибкой RecursionError или не израсходует всю доступную память (OOM), приводя к сбою хост-приложения. Это отличная уязвимость от CVE-2026-23490 (которая устраняла целочисленное переполнение при декодировании OID). Исправление для CVE-2026-23490 (MAX_OID_ARC_CONTINUATION_OCTETS) не устраняет эту проблему рекурсии.
Версия 0.6.3 устраняет эту конкретную проблему.
Показать оригинальное описание (EN)
pyasn1 is a generic ASN.1 library for Python. Prior to 0.6.3, the `pyasn1` library is vulnerable to a Denial of Service (DoS) attack caused by uncontrolled recursion when decoding ASN.1 data with deeply nested structures. An attacker can supply a crafted payload containing thousands of nested `SEQUENCE` (`0x30`) or `SET` (`0x31`) tags with "Indefinite Length" (`0x80`) markers. This forces the decoder to recursively call itself until the Python interpreter crashes with a `RecursionError` or consumes all available memory (OOM), crashing the host application. This is a distinct vulnerability from CVE-2026-23490 (which addressed integer overflows in OID decoding). The fix for CVE-2026-23490 (`MAX_OID_ARC_CONTINUATION_OCTETS`) does not mitigate this recursion issue. Version 0.6.3 fixes this specific issue.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Pyasn1 Pyasn1
cpe:2.3:a:pyasn1:pyasn1:*:*:*:*:*:python:*:*
|
— |
0.6.3
|