W bibliotece jackson-databind odkryto podatność umożliwiającą zdalne wykonanie kodu (RCE) poprzez niebezpieczną deserializację obiektów z wykorzystaniem klas JNDI z bibliotek commons-configuration 1 i 2. Podatność uzyskała ocenę CVSS 9.8 (CRITICAL) i nie wymaga uwierzytelnienia ani interakcji użytkownika.
▸ Pokaż oryginał (EN)
A flaw was discovered in jackson-databind in versions before 2.9.10, 2.8.11.5 and 2.6.7.3, where it would permit polymorphic deserialization of a malicious object using commons-configuration 1 and 2 JNDI classes. An attacker could use this flaw to execute arbitrary code.
Biblioteka jackson-databind obsługuje tzw. polimorficzną deserializację, która pozwala na odtworzenie obiektów różnych typów na podstawie danych wejściowych. W podatnych wersjach atakujący może spreparować złośliwy ładunek (payload) JSON wskazujący na klasy JNDI pochodzące z bibliotek Apache Commons Configuration 1 lub 2. Podczas deserializacji takiego payloadu biblioteka inicjuje zapytanie JNDI, co może prowadzić do załadowania i wykonania dowolnego kodu dostarczonego przez atakującego ze zdalnego serwera.
Atakujący może wykonać dowolny kod na serwerze (RCE) bez konieczności posiadania jakichkolwiek uprawnień, co może skutkować pełnym przejęciem kontroli nad systemem, naruszeniem poufności, integralności oraz dostępności danych.
Należy zaktualizować jackson-databind do wersji 2.9.10, 2.8.11.5 lub 2.6.7.3 (odpowiednio do używanej gałęzi). Użytkownicy produktów Red Hat powinni zastosować dostępne patche zgodnie z erratą RHSA-2020:0729. Dodatkowo zaleca się wyłączenie polimorficznej deserializacji (domyślny typing) jeśli nie jest wymagana oraz ograniczenie dostępu sieciowego do usług JNDI.
FasterXML jackson-databind w wersjach przed 2.9.10, 2.8.11.5 oraz 2.6.7.3; Red Hat Decision Manager oraz Red Hat JBoss Data Grid korzystające z podatnych wersji biblioteki
Podatność dotyczy wyłącznie środowisk, w których jednocześnie używana jest biblioteka jackson-databind z włączoną polimorficzną deserializacją oraz biblioteka Apache Commons Configuration 1 lub 2 dostępna w ścieżce klas aplikacji.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HApache Geode
APPApache1.12.0Fasterxml Jackson Databind
APPFasterxml2.7.0 – 2.8.11.5 (bez)2.9.0 – 2.9.10 (bez)2.0.0 – 2.6.7.3 (bez)Red Hat Decision Manager
APPRedhat7.0Red Hat Jboss Data Grid
APPRedhat7.0.0Red Hat Jboss Enterprise Application Platform
APPRedhat7.0Red Hat Jboss Fuse
APPRedhat7.0.0Red Hat OpenShift Container Platform
APPRedhat4.3Red Hat Process Automation
APPRedhat7.0
Powiązane podatności
Apache Tomcat AJP Connector — odczyt plików i RCE (Ghostcat)
RCE w Kibana Timelion — wykonanie kodu z uprawnieniami procesu
Jenkins Script Security Plugin — sandbox bypass umożliwiający RCE
Jenkins Pipeline Groovy Plugin — bypass sandbox i wykonanie kodu (RCE)
RCE w Jenkins — nieuprawnione wywołanie metod przez Stapler framework