Biblioteka dom4j przed wersjami 2.0.3 i 2.1.3 domyślnie zezwala na przetwarzanie zewnętrznych DTD oraz zewnętrznych encji XML (XXE), co naraża aplikacje korzystające z tej biblioteki na ataki klasy XML External Entity Injection. Podatność posiada ocenę CVSS 9.8 (CRITICAL) i nie wymaga uwierzytelnienia ani interakcji użytkownika.
▸ Pokaż oryginał (EN)
dom4j before 2.0.3 and 2.1.x before 2.1.3 allows external DTDs and External Entities by default, which might enable XXE attacks. However, there is popular external documentation from OWASP showing how to enable the safe, non-default behavior in any application that uses dom4j.
Biblioteka dom4j podczas parsowania dokumentów XML domyślnie włącza obsługę zewnętrznych DTD oraz zewnętrznych encji (External Entities). Atakujący może dostarczyć specjalnie spreparowany dokument XML zawierający odwołania do zewnętrznych zasobów, co może prowadzić do ujawnienia lokalnych plików systemowych (path traversal przez XXE), wysyłania żądań z serwera (SSRF) lub odmowy usługi. Bezpieczne zachowanie parsera nie jest konfigurowane domyślnie, lecz wymaga jawnego wyłączenia obsługi zewnętrznych encji przez programistę aplikacji — dokumentacja OWASP opisuje sposób jego włączenia.
Atakujący może odczytać dowolne pliki z systemu plików serwera, przeprowadzić atak SSRF lub w określonych konfiguracjach doprowadzić do ujawnienia poufnych danych albo zakłócenia działania aplikacji.
Należy zaktualizować dom4j do wersji 2.0.3 lub 2.1.3 albo nowszej. W przypadku braku możliwości natychmiastowej aktualizacji należy ręcznie wyłączyć obsługę zewnętrznych DTD i encji w konfiguracji parsera XML zgodnie z zaleceniami OWASP XML External Entity Prevention Cheat Sheet. Dla produktów Oracle należy zastosować patche dostępne u producenta zgodnie z referencjami.
dom4j przed wersją 2.0.3 oraz w gałęzi 2.1.x przed wersją 2.1.3; podatność dotyczy również produktów korzystających z tej biblioteki: Oracle Agile PLM oraz Oracle Application Testing Suite (szczegółowe wersje wskazane w referencjach producenta).
OWASP udostępnia publiczną dokumentację opisującą sposób bezpiecznej konfiguracji parsera dom4j, co pozwala na obejście podatności bez aktualizacji biblioteki.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCanonical Ubuntu
OSCanonical16.04Dom4j Project Dom4j
APPDom4J Project< 2.0.32.1.0 – 2.1.3 (bez)Netapp Oncommand Api Services
APPNetappwszystkie wersjeNetapp Oncommand Workflow Automation
APPNetappwszystkie wersjeNetapp Snapcenter
APPNetappwszystkie wersjeNetapp Snap Creator Framework
APPNetappwszystkie wersjeNetapp Snapmanager
APPNetappwszystkie wersjeOpensuse Leap
OSOpensuse15.1Oracle Agile Product Lifecycle Management
APPOracle9.3.39.3.5Oracle Application Testing Suite
APPOracle13.3.0.1Oracle Banking Platform
APPOracle2.4.0 – 2.10.0Oracle Business Process Management Suite
APPOracle12.2.1.3.012.2.1.4.0Oracle Communications Application Session Controller
APPOracle3.9m0p1Oracle Communications Diameter Signaling Router
APPOracle8.0.0 – 8.2.2Oracle Communications Unified Inventory Management
APPOracle7.3.07.4.0Oracle Data Integrator
APPOracle12.2.1.3.012.2.1.4.0Oracle Documaker
APPOracle12.6.0 – 12.6.4Oracle Endeca Information Discovery Integrator
APPOracle3.2.0Oracle Enterprise Data Quality
APPOracle11.1.1.9.012.2.1.3.0Oracle Enterprise Manager Base Platform
APPOracle13.4.0.0Oracle Financial Services Analytical Applications Infrastructure
APPOracle8.0.6 – 8.1.0Oracle Flexcube Core Banking
APPOracle11.10.011.7.011.8.011.9.0Oracle Fusion Middleware
APPOracle12.2.1.4.0Oracle Health Sciences Empirica Signal
APPOracle9.0Oracle Health Sciences Information Manager
APPOracle3.0.1Oracle Insurance Policy Administration J2ee
APPOracle10.2.010.2.411.0.211.1.0 – 11.3.0Oracle Insurance Rules Palette
APPOracle10.2.010.2.411.0.211.1.0 – 11.3.0Oracle Jdeveloper
APPOracle12.2.1.4.0Oracle Primavera P6 Enterprise Project Portfolio Management
APPOracle16.1.0.0 – 16.2.20.117.1.0.0 – 17.12.17.118.1.0.0 – 18.8.19.019.12.0.0 – 19.12.6.0Oracle Rapid Planning
APPOracle12.112.2
Powiązane podatności
Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)
RCE w Spring Cloud Function poprzez złośliwy SpEL routing-expression
Spring4Shell — RCE przez data binding w Spring MVC/WebFlux na JDK 9+
Redis – ucieczka z Lua sandbox umożliwiająca zdalne wykonanie kodu (RCE)
Apache Log4j2 Log4Shell — RCE przez podatną funkcję JNDI lookup