NLTK w wersjach do 3.9.2 włącznie zawiera krytyczną podatność umożliwiającą wykonanie dowolnego kodu poprzez moduł StanfordSegmenter. Atakujący może podłożyć złośliwy plik JAR, który zostanie załadowany i wykonany bez jakiejkolwiek weryfikacji.
▸ Pokaż oryginał (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.
Moduł StanfordSegmenter dynamicznie ładuje zewnętrzne pliki Java .jar bez ich weryfikacji ani izolacji (sandboxing). Plik JAR jest uruchamiany bezpośrednio przez subprocess z niezwalidowanym parametrem classpath, co pozwala na załadowanie przez JVM złośliwych klas już w momencie importu modułu. Atakujący może dostarczyć lub podmienić plik JAR za pomocą technik takich jak model poisoning, atak MITM lub dependency poisoning. W efekcie dowolny bytecode Java zawarty w złośliwym pliku JAR zostaje wykonany w kontekście procesu.
Atakujący może uzyskać pełną kontrolę nad systemem poprzez wykonanie dowolnego kodu (RCE), co zagraża poufności, integralności i dostępności środowiska, w którym działa aplikacja korzystająca z NLTK.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Do czasu aktualizacji zaleca się unikanie korzystania z modułu StanfordSegmenter oraz weryfikację integralności wszelkich zewnętrznych plików JAR używanych przez aplikację.
NLTK (pakiet Python) w wersjach 3.9.2 i wcześniejszych, korzystający z modułu StanfordSegmenter.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HNltk
APPNltk≤ 3.9.2
Powiązane podatności
NLTK version 3.9.4 is vulnerable to a path traversal attack due to an incomplete fix for GitHub Issue #3504. T...
NLTK (Natural Language Toolkit) is a suite of open source Python modules, data sets, and tutorials supporting ...
NLTK (Natural Language Toolkit) is a suite of open source Python modules, data sets, and tutorials supporting ...
NLTK (Natural Language Toolkit) is a suite of open source Python modules, data sets, and tutorials supporting ...
A vulnerability in the `filestring()` function of the `nltk.util` module in nltk version 3.9.2 allows arbitrar...