CVE-2026-54518
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 11 - wyżej niż 11% wszystkich znanych CVE
Streszczenie
Podatność w jackson-databind dotyczy mechanizmu rozpakowywania właściwości (unwrapped properties) w konstruktorach. Metoda UnwrappedPropertyHandler.processUnwrappedCreatorProperties() nie sprawdza widoczności adnotacji @JsonView, co pozwala na ominięcie ograniczeń widoku i wstrzyknięcie danych z JSON do parametru konstruktora oznaczonego zarówno @JsonView, jak i @JsonUnwrapped, nawet gdy aktywny jest bardziej restrykcyjny widok.
Ocena ryzyka
Atakujący może dostarczyć dane JSON, które zostaną zdeserializowane do parametru konstruktora, który powinien być ukryty w danym widoku, co może prowadzić do nieautoryzowanego dostępu do wrażliwych danych lub naruszenia logiki aplikacji.
Rekomendacja
Należy zaktualizować jackson-databind do wersji 2.21.4 lub 3.1.4, w zależności od używanej gałęzi. Jeśli aktualizacja nie jest możliwa, należy unikać łączenia adnotacji @JsonView z @JsonUnwrapped w konstruktorach.
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.21.0 until 2.21.4 and 3.1.4, UnwrappedPropertyHandler.processUnwrappedCreatorProperties() replays buffered JSON into creator parameters but never consults prop.visibleInView(activeView). The normal property-based creator path gates creator properties on the active view, but this unwrapped-creator replay path bypasses that check, so a constructor parameter annotated with both @JsonView(AdminView.class) and @JsonUnwrapped is populated from attacker JSON even when a more restrictive view is active. This vulnerability is fixed in 2.21.4 and 3.1.4.

