Apache OpenNLP w wersjach od 1.5.0 do 1.8.1 jest podatne na atak XXE (XML External Entity) podczas przetwarzania plików XML zawierających modele lub słowniki. Błąd umożliwia atakującemu odczyt plików z serwera, eksfiltrację danych lub wykonanie zapytań do wewnętrznych zasobów sieciowych.
▸ Pokaż oryginał (EN)
When loading models or dictionaries that contain XML it is possible to perform an XXE attack, since Apache OpenNLP is a library, this only affects applications that load models or dictionaries from untrusted sources. The versions 1.5.0 to 1.5.3, 1.6.0, 1.7.0 to 1.7.2, 1.8.0 to 1.8.1 of Apache OpenNLP are affected.
Podatność wynika z nieprawidłowej konfiguracji parsera XML (CWE-611), który nie blokuje zewnętrznych encji XML. Gdy aplikacja ładuje model lub słownik z niezaufanego źródła, odpowiednio spreparowany plik XML może zawierać odwołania do zewnętrznych encji. Parser przetwarza te odwołania, co pozwala atakującemu na odczyt lokalnych plików systemowych lub wykonanie zapytań do wewnętrznych usług sieciowych (SSRF). Podatność dotyka wyłącznie aplikacji korzystających z biblioteki Apache OpenNLP, które wczytują dane XML z niezaufanych źródeł.
Atakujący może uzyskać nieautoryzowany dostęp do poufnych plików systemu operacyjnego lub wykonać zapytania SSRF do zasobów wewnętrznej sieci, co prowadzi do naruszenia poufności, integralności i dostępności danych.
Należy zaktualizować Apache OpenNLP do wersji wyższej niż 1.8.1. Szczegółowe informacje dotyczące patcha dostępne są w referencjach producenta pod adresem http://opennlp.apache.org/news/cve-2017-12620.html. Dodatkowo zaleca się, aby aplikacje korzystające z biblioteki nie ładowały modeli ani słowników XML z niezaufanych źródeł.
Apache OpenNLP w wersjach: 1.5.0 do 1.5.3, 1.6.0, 1.7.0 do 1.7.2 oraz 1.8.0 do 1.8.1
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HApache Opennlp
APPApache1.5.01.5.11.5.21.5.31.6.01.7.01.7.11.7.21.8.01.8.1
Powiązane podatności
XXE w Apache OpenNLP — ujawnienie plików i SSRF przez parsowanie słowników
Apache OpenNLP: arbitralne ładowanie klas przez manifest modelu (RCE-adjacent)
Apache OpenNLP: RCE przez niebezpieczną deserializację w SvmDoccatModel
OOM Denial of Service via Unbounded Array Allocation in Apache OpenNLP AbstractModelReader Versions Affected...
Arbitralne tworzenie instancji klasy przez Generator Descriptor XML i Format Name w Apache OpenNLP Wersje dot...