CVE-2026-47856
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 14 - wyżej niż 14% wszystkich znanych CVE
Streszczenie
Konwersja JSON na obiekt w Spring Integration używa nagłówka json__TypeId__ do wyboru typu docelowego deserializacji i rozwiązuje wartość tego nagłówka na klasę za pomocą ClassUtils.forName bez listy dozwolonych typów/pakietów. Dotyczy Spring Integration 7.1.0, 7.0.0-7.0.5, 6.5.0-6.5.10, 6.4.0-6.4.12 oraz 5.5.21 i wcześniejszych.
Ocena ryzyka
Atakujący może spowodować deserializację dowolnych klas, co może prowadzić do zdalnego wykonania kodu (RCE) lub innych poważnych skutków.
Rekomendacja
Zaktualizuj Spring Integration do wersji z poprawką. Ogranicz listę dozwolonych typów dla deserializacji JSON.
Inne podatności w Spring Integration
Zobacz wszystkie- CVE-2026-59324Wysokie
W Spring Integration, gdy IntegrationFlow używa .fluxTransform() z asynchroniczną funkcją fluxFunction emitującą surowe ładunki, współbieżne żądania na tym samym subskrypcji FluxMessageChannel mają nagłówki odpowiedzi (replyChannel, errorChannel, correlationId, propagowane nagłówki bezpieczeństwa/tenant) kopiowane z ostatnio przetworzonej wiadomości. Dotyczy to wersji 7.1.0, 7.0.0-7.0.5, 6.5.0-6.5.10, 6.4.0-6.4.12 oraz 5.5.21 i wcześniejszych.
- CVE-2026-59322Średnie
EmbeddedHeadersJsonMessageMapper domyślnie stosuje zbyt liberalne parsowanie nagłówków w swoim konstruktorze. Gdy decodeNativeFormat przetwarza surowe bajty, deserializuje osadzone nagłówki JSON do zwykłej mapy i tworzy GenericMessage z MutableMessageHeaders bez domyślnego sanityzowania lub filtrowania niezaufanych nazw nagłówków. Podatność dotyczy Spring Integration w wersjach 7.1.0, 7.0.0-7.0.5, 6.5.0-6.5.10, 6.4.0-6.4.12 oraz 5.5.21 i wcześniejszych.
- CVE-2026-59321Średnie
Pojedyncza instancja ScriptEngine jest ponownie używana dla każdej wiadomości na kanale opartym na skryptach. Dla silników JSR-223, które zgłaszają THREADING=null (nie są bezpieczne dla wątków, np. silnik Kotlin kts), równoczesne przetwarzanie wiadomości może uszkodzić stan wewnętrzny silnika, potencjalnie wyciekając powiązania payloadu/nagłówków jednej wiadomości do oceny skryptu innej wiadomości lub powodując nieoczekiwane wyjątki. Podatność dotyczy Spring Integration w wersjach 7.1.0, 7.0.0-7.0.5, 6.5.0-6.5.10, 6.4.0-6.4.12 oraz 5.5.21 i wcześniejszych.
- CVE-2026-59311Średnie
Lokalny nieuprzywilejowany użytkownik na tym samym hoście może przekierować całe wyjście transformatora Zip/UnZip do wybranego przez siebie katalogu, tworząc wcześniej /tmp/ziptransformer jako dowiązanie symboliczne przed uruchomieniem aplikacji. Podatność dotyczy Spring Integration w wersjach 7.1.0, 7.0.0-7.0.5, 6.5.0-6.5.10 oraz 6.4.0-6.4.12.
- CVE-2026-59307Wysokie
W Spring Integration, operator wywołujący JdbcMessageStore.addAllowedPatterns(...) w celu ograniczenia deserializacji nie otrzymuje żadnej ochrony, gdy magazyn jest zarządzany przez Springa. Dotyczy to wersji 7.1.0, 7.0.0-7.0.5, 6.5.0-6.5.10 oraz 6.4.0-6.4.12.
- CVE-2026-59293Średnie
Jeśli aplikacja jawnie nie podniesie smbMinVersion, klient jCIFS negocjuje w dół do SMB1/CIFS, który nie ma obowiązkowego podpisywania/szyfrowania i jest podatny na ataki NTLM relay oraz MITM modyfikujące treść. Podatność dotyczy Spring Integration w wersjach 7.1.0, 7.0.0-7.0.5, 6.5.0-6.5.10 oraz 6.4.0-6.4.12.
- CVE-2026-59292Niskie
PropertiesPersistingMetadataStore, domyślny plikowy ConcurrentMetadataStore, zapisuje swój stan do ${java.io.tmpdir}/spring-integration/metadata-store.properties z uprawnieniami odczytu dla wszystkich użytkowników. Dotyczy to Spring Integration w wersjach 7.1.0, 7.0.0-7.0.5, 6.5.0-6.5.10, 6.4.0-6.4.12 oraz 5.5.21 i wcześniejszych.
- CVE-2026-59274Średnie
UnZipTransformer nie ogranicza rozmiaru rozpakowanych wpisów ani ich liczby podczas przetwarzania archiwów. W rezultacie atakujący może wysłać archiwum zip, które może wyczerpać pamięć sterty JVM, powodując awarię typu denial-of-service. Podatność dotyczy Spring Integration w wersjach 7.1.0, 7.0.0-7.0.5, 6.5.0-6.5.10 oraz 6.4.0-6.4.12.
- CVE-2026-47880Średnie
Producent mogący publikować do miejsca docelowego JMS używanego przez komponenty wejściowe Spring Integration może ustawić właściwości JMS typu String o nazwach replyChannel, errorChannel lub json__TypeId__, które są kopiowane bez zmian do nagłówków komunikatów Spring Integration.
- CVE-2026-47864Średnie
SerializingHttpMessageConverter deserializuje treść przychodzących żądań HTTP za pomocą surowego java.io.ObjectInputStream bez filtrowania klas. Każde żądanie z Content-Type application/x-java-serialized-object, którego treść jest typu Serializable, jest odczytywane bezpośrednio przez readObject(). Jeśli aplikacja używająca tego konwertera na przychodzącym punkcie końcowym HTTP ma jakikolwiek znany 'gadżet' deserializacji Java na ścieżce klas, zdalny, nieuwierzytelniony atakujący może osiągnąć wykonanie dowolnego kodu.
Oryginalny opis (angielski, źródło NVD)
Spring Integration's JSON to object conversion uses the json__TypeId__ header to choose the deserialization target type, and resolves that header value to a class with ClassUtils.forName and no type/package allow-list. Spring Integration 7.1.0 Spring Integration 7.0.0 - 7.0.5 Spring Integration 6.5.0 - 6.5.10 Spring Integration 6.4.0 - 6.4.12 Spring Integration 5.5.21 and earlier

