Podatność w bibliotece XStream API do wersji 1.4.6 oraz w wersji 1.4.10 umożliwia zdalnemu atakującemu wykonanie dowolnych poleceń powłoki systemowej (command injection) poprzez manipulację strumieniem wejściowym podczas deserializacji (unmarshaling) danych XML lub JSON. Jest to podatność krytyczna, ponieważ nie wymaga uwierzytelnienia ani interakcji użytkownika.
▸ Pokaż oryginał (EN)
Xstream API versions up to 1.4.6 and version 1.4.10, if the security framework has not been initialized, may allow a remote attacker to run arbitrary shell commands by manipulating the processed input stream when unmarshaling XML or any supported format. e.g. JSON.
Podatność wynika z braku inicjalizacji mechanizmu bezpieczeństwa (security framework) w bibliotece XStream. Gdy aplikacja przetwarza niezaufane dane wejściowe w formacie XML lub innym obsługiwanym formacie (np. JSON), atakujący może spreparować złośliwy strumień danych, który podczas operacji unmarshaling prowadzi do wykonania arbitralnych poleceń systemowych (CWE-78: Improper Neutralization of Special Elements used in an OS Command). Atak jest możliwy zdalnie, bez konieczności posiadania żadnych uprawnień.
Atakujący może wykonać dowolne polecenia systemowe na serwerze hostującym podatną aplikację, co może prowadzić do pełnego przejęcia kontroli nad systemem, kradzieży danych oraz naruszenia poufności, integralności i dostępności.
Należy zaktualizować bibliotekę XStream do wersji wyższej niż 1.4.10 (z wyłączeniem wersji 1.4.10), w której dostępny jest poprawiony mechanizm bezpieczeństwa. Dodatkowo należy upewnić się, że security framework biblioteki XStream jest prawidłowo zainicjalizowany przed przetwarzaniem jakichkolwiek niezaufanych danych wejściowych. Należy zastosować patche dostępne u producenta zgodnie z referencjami.
XStream API w wersjach do 1.4.6 włącznie oraz wersja 1.4.10, gdy mechanizm bezpieczeństwa biblioteki nie został zainicjalizowany. Dotyczy m.in. Oracle Endeca Information Discovery Studio oraz Apache ActiveMQ korzystających z podatnych wersji XStream.
Podatność została publicznie opisana w grudniu 2013 r. na blogu Dinis Cruz (diniscruz.com) wraz z demonstracją exploita RCE dla XStream. Pomimo daty odkrycia w 2013 r., CVE zostało opublikowane 15 maja 2019 r.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HApache Activemq
APPApache5.15.8Oracle Endeca Information Discovery Studio
APPOracle3.2.0Xstream
APPXstream1.4.10≤ 1.4.6
Powiązane podatności
Apache ActiveMQ — RCE przez podatny marshaller protokołu OpenWire
Apache ActiveMQ Fileserver — upload i zdalne wykonanie kodu przez HTTP PUT/MOVE
Apache ActiveMQ — RCE przez błędną konfigurację JMX RMIConnectorServer
Apache Log4j 1.2 — RCE przez deserializację w SocketServer
XStream 1.4.10 — RCE przez deserializację XML/JSON (regresja CVE-2013-7285)