Apache Batik w wersjach 1.x przed 1.10 zawiera krytyczną podatność deserializacji (CWE-502), która pozwala atakującemu na wykonanie dowolnego kodu bez żadnego uwierzytelnienia. Wynika ona z braku walidacji nazwy klasy odczytywanej ze strumienia wejściowego podczas deserializacji podklasy `AbstractDocument`.
▸ Pokaż oryginał (EN)
In Apache Batik 1.x before 1.10, when deserializing subclass of `AbstractDocument`, the class takes a string from the inputStream as the class name which then use it to call the no-arg constructor of the class. Fix was to check the class type before calling newInstance in deserialization.
Podczas deserializacji podklasy `AbstractDocument` biblioteka odczytuje ze strumienia wejściowego ciąg znaków i traktuje go bezpośrednio jako nazwę klasy, którą następnie inicjalizuje wywołując konstruktor bezargumentowy (`newInstance`). Brak weryfikacji typu klasy przed jej inicjalizacją umożliwia atakującemu podstawienie dowolnej klasy znajdującej się w classpath. Poprawka polega na sprawdzeniu typu klasy przed wywołaniem `newInstance` podczas procesu deserializacji.
Atakujący zdalny, nieuwierzytelniony może doprowadzić do wykonania dowolnego kodu (RCE) na serwerze, co skutkuje pełnym naruszeniem poufności, integralności oraz dostępności systemu.
Należy zaktualizować Apache Batik do wersji 1.10 lub nowszej. Użytkownicy dystrybucji Debian Linux i Canonical Ubuntu Linux powinni zastosować patche dostępne u producenta systemu operacyjnego zgodnie z referencjami. Dodatkowe zalecenia znajdują się w biuletynach bezpieczeństwa Oracle (CPU July 2018, CPU October 2018).
Apache Batik w wersjach 1.x przed 1.10; podatność dotyczy również systemów opartych na Debian Linux oraz Canonical Ubuntu Linux korzystających z dotkniętych pakietów Apache Batik
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HApache Batik
APPApache1.0 – 1.10 (bez)Canonical Ubuntu
OSCanonical14.04Debian
OSDebian7.08.09.0Oracle Business Intelligence
APPOracle11.1.1.7.011.1.1.9.012.2.1.3.012.2.1.4.0Oracle Communications Diameter Signaling Router
APPOracle< 8.3Oracle Communications Metasolv Solution
APPOracle6.3.0Oracle Communications Webrtc Session Controller
APPOracle< 7.2Oracle Data Integrator
APPOracle12.2.1.3.0Oracle Enterprise Repository
APPOracle11.1.1.7.012.1.3.0.0Oracle Financial Services Analytical Applications Infrastructure
APPOracle7.3.3.0.0 – 7.3.3.0.28.0.0.0.0 – 8.0.7.1.0Oracle Fusion Middleware Mapviewer
APPOracle12.2.1.212.2.1.3Oracle Instantis Enterprisetrack
APPOracle17.117.217.3Oracle Insurance Calculation Engine
APPOracle10.1.110.2.1Oracle Insurance Policy Administration J2ee
APPOracle10.010.2Oracle Jd Edwards Enterpriseone Tools
APPOracle9.2Oracle Retail Back Office
APPOracle13.313.41414.1Oracle Retail Central Office
APPOracle14.1Oracle Retail Integration Bus
APPOracle17.0Oracle Retail Order Broker
APPOracle15.016.05.15.2Oracle Retail Point Of Service
APPOracle13.414.014.1Oracle Retail Returns Management
APPOracle14.1
Powiązane podatności
GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER
Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)
RCE przez deserializację PHP w Roundcube Webmail (parametr _from)
Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)
Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki