CVE-2026-54513
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 57 - wyżej niż 57% wszystkich znanych CVE
Streszczenie
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[].
Ocena ryzyka
Ryzyko polega na możliwości zdalnego wykonania kodu poprzez deserializację niebezpiecznych typów tablicowych, co może prowadzić do przejęcia aplikacji.
Rekomendacja
Zaleca się aktualizację jackson-databind do wersji 2.18.8, 2.21.4 lub 3.1.4, które zawierają poprawkę.
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-11620Wysokie
Biblioteka FasterXML jackson-databind w wersjach 2.x przed 2.9.10.4 nieprawidłowo obsługuje interakcję między gadżetami serializacji a typowaniem, w szczególności w powiązaniu z klasą org.apache.commons.jelly.impl.Embedded (commons-jelly). Może to umożliwić atakującemu wykonanie niebezpiecznych operacji podczas deserializacji danych.
- CVE-2019-14893Krytyczne
Odkryto usterkę w FasterXML jackson-databind we wszystkich wersjach przed 2.9.10 i 2.10.0, która umożliwiała polimorficzną deserializację złośliwych obiektów przy użyciu gadżetu xalan JNDI, gdy używana jest z metodami obsługi typów polimorficznych, takimi jak `enableDefaultTyping()` lub gdy @JsonTypeInfo używa `Id.CLASS` lub `Id.MINIMAL_CLASS`, lub w inny sposób, w którym ObjectMapper.readValue może tworzyć obiekty z niebezpiecznych źródeł. Atakujący mógł wykorzystać tę usterkę do wykonania dowolnego kodu.
- CVE-2019-14892Krytyczne
Odkryto usterkę w jackson-databind w wersjach przed 2.9.10, 2.8.11.5 i 2.6.7.3, która umożliwiała polimorficzną deserializację złośliwego obiektu przy użyciu klas JNDI z commons-configuration 1 i 2. Atakujący mógł wykorzystać tę usterkę do wykonania dowolnego kodu.
- 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-2020-8840Krytyczne
FasterXML jackson-databind w wersjach od 2.0.0 do 2.9.10.2 nie blokuje odpowiednio klas xbean-reflect/JNDI, co demonstruje org.apache.xbean.propertyeditor.JndiConverter. Może to umożliwić zdalne wykonanie kodu.
- CVE-2019-20330Krytyczne
FasterXML jackson-databind w wersjach 2.x przed 2.9.10.2 nie zawiera odpowiedniej blokady klas net.sf.ehcache. Może to umożliwić atakującemu wykorzystanie deserializacji polimorficznej do wykonania niebezpiecznych operacji.
- CVE-2019-17531Krytyczne
Odkryto problem z polimorficznym typowaniem w FasterXML jackson-databind od wersji 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ę apache-log4j-extra (wersja 1.2.x), atakujący może dostarczyć usługę JNDI, co umożliwia wykonanie złośliwego ładunku.
- 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-2019-16943Krytyczne
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.
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.10.0 until 2.18.8, 2.21.4, and 3.1.4, BasicPolymorphicTypeValidator.Builder.allowIfSubTypeIsArray() allowlists any array type based only on clazz.isArray(), without validating the array's component (element) type against the configured allowlist. A PTV built with allowIfSubTypeIsArray() plus an explicit concrete-type allowlist therefore still permits EvilType[] even though EvilType is not allowlisted. When Jackson deserializes the elements and no per-element type IDs are present, it instantiates the component type directly with no further PTV check, bypassing the allowlist. This vulnerability is fixed in 2.18.8, 2.21.4, and 3.1.4.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

