Версии NLTK <=3.9.2 уязвимы для выполнения произвольного кода из-за неправильной проверки ввода в модуле StanfordSegmenter. Модуль динамически загружает внешние файлы Java .jar без проверки или изолированной программной среды. Злоумышленник может предоставить или заменить файл JAR, что позволит выполнить произвольный байт-код Java во время импорта.
Эту уязвимость можно использовать с помощью таких методов, как отравление модели, атаки MITM или отравление зависимостями, что приводит к удаленному выполнению кода. Проблема возникает из-за прямого выполнения файла JAR через подпроцесс с непроверенным вводом пути к классам, что позволяет вредоносным классам выполняться при загрузке JVM.
Показать оригинальное описание (EN)
NLTK versions <=3.9.2 are vulnerable to arbitrary code execution due to improper input validation in the StanfordSegmenter module. The module dynamically loads external Java .jar files without verification or sandboxing. An attacker can supply or replace the JAR file, enabling the execution of arbitrary Java bytecode at import time. This vulnerability can be exploited through methods such as model poisoning, MITM attacks, or dependency poisoning, leading to remote code execution. The issue arises from the direct execution of the JAR file via subprocess with unvalidated classpath input, allowing malicious classes to execute when loaded by the JVM.
Характеристики атаки
Последствия
Строка CVSS v3.0