CVE-2019-16943
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Bardzo wysokie ryzykoPercentyl 92 - wyżej niż 92% wszystkich znanych CVE
Streszczenie
Wykryto problem z typowaniem polimorficznym w FasterXML jackson-databind od 2.0.0 do 2.9.10. Gdy domyślne typowanie jest włączone (globalnie lub dla konkretnej właściwości) dla zewnętrznie wystawionego punktu końcowego JSON, a usługa ma w classpath bibliotekę p6spy (3.8.6), atakujący może znaleźć punkt końcowy RMI i wykonać złośliwy kod. Problem wynika z nieprawidłowej obsługi com.p6spy.engine.spy.P6DataSource.
Ocena ryzyka
Ryzyko zdalnego wykonania kodu w aplikacjach używających jackson-databind z włączonym typowaniem i biblioteką p6spy, co może prowadzić do pełnego przejęcia systemu.
Rekomendacja
Zaktualizuj jackson-databind do wersji 2.9.10 lub nowszej, wyłącz domyślne typowanie, jeśli nie jest wymagane, i usuń niepotrzebne biblioteki z classpath.
Inne podatności w jackson-databind
Zobacz wszystkie- CVE-2021-20190Wysokie
Błąd w jackson-databind przed wersją 2.9.10.7 powoduje nieprawidłowe zarządzanie interakcją między gadżetami serializacji a typowaniem. Największe zagrożenie dotyczy poufności i integralności danych oraz dostępności systemu.
- CVE-2020-9547Krytyczne
FasterXML jackson-databind 2.x przed 2.9.10.4 nieprawidłowo obsługuje interakcję między gadżetami serializacji a typowaniem, związaną z com.ibatis.sqlmap.engine.transaction.jta.JtaTransactionConfig (znanym jako ibatis-sqlmap).
- CVE-2019-17267Krytyczne
Wykryto problem z typowaniem polimorficznym w FasterXML jackson-databind przed 2.9.10, związany z net.sf.ehcache.hibernate.EhcacheJtaTransactionManagerLookup.
- CVE-2026-68497Wysokie
Podatność w bibliotece jackson-databind polega na tym, że deserializatory typów XML (Duration, XMLGregorianCalendar) przekazują surowy łańcuch JSON bezpośrednio do konstruktorów BigInteger/BigDecimal, które mają złożoność kwadratową względem liczby cyfr. Ponieważ cyfry znajdują się w tokenie łańcucha znaków, a nie liczby, zabezpieczenie StreamReadConstraints.maxNumberLength nie działa, co pozwala atakującemu na wywołanie długotrwałego obciążenia CPU pojedynczym żądaniem.
- CVE-2026-83557Średnie
Walidator DefaultBaseTypeLimitingValidator w bibliotece jackson-databind, stosowany automatycznie przy użyciu adnotacji @JsonTypeInfo bez własnego walidatora, nie uwzględniał typu java.lang.Comparable na liście niebezpiecznych typów bazowych. W efekcie aplikacja deklarująca właściwość lub klasę z Comparable jako typem bazowym akceptuje identyfikatory typów dla praktycznie dowolnej klasy implementującej Comparable, co pozwala atakującemu na tworzenie obiektów pod jego kontrolą. Wykazano możliwość utworzenia obiektu java.io.File dla dowolnej ścieżki.
- CVE-2026-19032Średnie
Deserializator jackson-databind dla java.nio.file.Path rozwiązuje URI dostarczone przez atakującego bez ograniczania schematu URI. Może to pozwolić na wybranie i sterowanie dowolnym zarejestrowanym FileSystemProvider podczas deserializacji niezaufanego JSON. Wpływ jest ograniczony, jeśli dostępne są tylko wbudowane providery JDK, ale może być poważniejszy przy obecności zewnętrznych providerów.
- CVE-2026-77310Średnie
jackson-databind, biblioteka do wiązania danych ogólnego przeznaczenia dla Jackson Data Processor, przed wersjami 2.18.9, 2.21.5, 2.22.1, 3.1.5 i 3.2.1 zawiera podatność w gałęzi java.net.InetAddress w metodzie FromStringDeserializer.Std._deserialize(). Funkcja wywołuje InetAddress.getByName() na danych kontrolowanych przez atakującego, co powoduje niecierpliwe rozwiązywanie DNS podczas deserializacji i umożliwia ataki SSRF oparte na DNS oraz enumerację wewnętrznych hostów.
- CVE-2026-59889Średnie
W bibliotece jackson-databind wykryto podatność polegającą na tym, że metoda UnwrappedPropertyHandler.processUnwrapped() przetwarza buforowany JSON dla właściwości @JsonUnwrapped bez sprawdzania widoczności (@JsonView). Umożliwia to atakującemu zapisanie właściwości oznaczonej zarówno @JsonView, jak i @JsonUnwrapped, nawet przy mniej uprzywilejowanym widoku aktywnym.
- CVE-2026-59888Średnie
Podatność w jackson-databind pozwala na ominięcie adnotacji @JsonIgnore w rekordach Javy używających PropertyNamingStrategy. Problem występuje w wersjach od 2.15.0 do 2.18.8, 2.21.4 i 3.1.4, gdzie ignorowane pole jest rejestrowane pod oryginalną nazwą przed zastosowaniem strategii nazewnictwa, co umożliwia przypisanie zmienionego klucza JSON do parametru konstruktora rekordu.
- CVE-2026-54515Średnie
W bibliotece jackson-databind od wersji 2.8.0 do 2.18.9, 2.21.5 i 3.1.4 występuje podatność polegająca na tym, że podczas deserializacji obiektów z adnotacją @JsonIgnoreProperties, wykluczone właściwości są usuwane z mapy BeanPropertyMap, ale późniejsze przetwarzanie z uwzględnieniem wielkości liter (ACCEPT_CASE_INSENSITIVE_PROPERTIES) odtwarza oryginalną, niefiltrowaną mapę, przywracając usunięte właściwości. W rezultacie zignorowana właściwość staje się ponownie zapisywalna.
Oryginalny opis (angielski, źródło NVD)
A Polymorphic Typing issue was discovered in FasterXML jackson-databind 2.0.0 through 2.9.10. When Default Typing is enabled (either globally or for a specific property) for an externally exposed JSON endpoint and the service has the p6spy (3.8.6) jar in the classpath, and an attacker can find an RMI service endpoint to access, it is possible to make the service execute a malicious payload. This issue exists because of com.p6spy.engine.spy.P6DataSource mishandling.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

