NLTK до версии 3.10.3 содержит уязвимость типа «отказ в обслуживании» (ReDoS) в модуле tgrep. Функция _tgrep_node_action компилирует предоставленные пользователем регулярные выражения, встроенные в узлы шаблона /regex/, и выполняет их посредством поиска по меткам узлов дерева без какой-либо проверки или тайм-аута. Злоумышленник, который контролирует шаблон tgrep (например, с помощью tgrep_positions() или tgrep_compile(), доступный для внешнего ввода), может предоставить шаблон, который запускает катастрофический возврат, вызывая неопределенное перегружение ЦП, которое блокирует процесс Python.
Показать оригинальное описание (EN)
NLTK before 3.10.3 contains a regular expression denial of service (ReDoS) vulnerability in the tgrep module. The _tgrep_node_action function compiles user-supplied regular expressions embedded in /regex/ pattern nodes and executes them via re.search against tree node labels without any validation or timeout. An attacker who controls the tgrep pattern (e.g., via tgrep_positions() or tgrep_compile() exposed to external input) can supply a pattern that triggers catastrophic backtracking, causing indefinite CPU saturation that blocks the Python process.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Nltk Nltk
cpe:2.3:a:nltk:nltk:*:*:*:*:*:*:*:*
|
— |
3.10.3
|