CVE-2026-54514
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 12 - wyżej niż 12% wszystkich znanych CVE
Streszczenie
Podatność w jackson-databind od wersji 2.0.0 do 2.18.8, 2.21.4 i 3.1.4 powoduje, że podczas deserializacji obiektu InetSocketAddress następuje natychmiastowe rozwiązywanie nazw DNS dla danych wejściowych pochodzących z niezaufanego źródła. Atakujący może wymusić wykonanie zapytania DNS na wybranym przez siebie hoście jeszcze przed jakąkolwiek walidacją aplikacyjną.
Ocena ryzyka
Organizacja narażona jest na atak typu DNS exfiltration lub skanowanie sieci wewnętrznej poprzez kontrolowane przez atakującego zapytania DNS, co może prowadzić do wycieku danych lub mapowania infrastruktury.
Rekomendacja
Należy niezwłocznie zaktualizować jackson-databind do wersji 2.18.8, 2.21.4 lub 3.1.4, w zależności od używanej gałęzi, aby opóźnić rozwiązywanie DNS do momentu jawnego połączenia.
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-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.
- CVE-2026-54513Wysokie
Jackson-databind od wersji 2.10.0 do 2.18.8, 2.21.4 i 3.1.4 zawiera lukę w BasicPolymorphicTypeValidator, gdzie metoda allowIfSubTypeIsArray() zezwala na dowolne typy tablicowe bez walidacji typu elementu. Pozwala to na ominięcie listy dozwolonych typów i deserializację niebezpiecznych obiektów, takich jak EvilType[].
- CVE-2023-35116Średnie
Jackson-databind w wersjach do 2.15.2 pozwala atakującym na spowodowanie odmowy usługi lub innego nieokreślonego wpływu poprzez skonstruowany obiekt wykorzystujący cykliczne zależności.
Oryginalny opis (angielski, źródło NVD)
jackson-databind contains the general-purpose data-binding functionality and tree-model for Jackson Data Processor. From 2.0.0 until 2.18.8, 2.21.4, and 3.1.4, JDKFromStringDeserializer constructed InetSocketAddress with new InetSocketAddress(host, port), which performs eager DNS name resolution for hostname inputs at deserialization time. An application that binds untrusted JSON into a type containing an InetSocketAddress field issues an attacker-chosen DNS query during readValue, before any application-level validation or connect logic. The fix uses InetSocketAddress.createUnresolved(host, port), deferring DNS to an explicit connect. This vulnerability is fixed in 2.18.8, 2.21.4, and 3.1.4.

