CVE-2026-47864
ŚrednieCVSS 6.4Prawdopodobieństwo exploitacji (EPSS)
Wysokie ryzykoPercentyl 88 - wyżej niż 88% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Zdalny atakujący bez uwierzytelnienia może wykorzystać deserializację do wykonania dowolnego kodu, co może prowadzić do całkowitego przejęcia serwera.
Rekomendacja
Zaktualizuj Spring Integration do wersji z poprawką lub unikaj używania SerializingHttpMessageConverter na niezaufanych punktach końcowych; rozważ zastosowanie bezpieczniejszych mechanizmów serializacji.
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-47862Średnie
Atakujący, który może ustawić nagłówek file_name na wiadomości docierającej do ZipTransformer z ZipResultType.FILE (domyślnie), może spowodować zapisanie wynikowego archiwum .zip w dowolnej ścieżce systemu plików poza skonfigurowanym workDirectory. Dotyczy Spring Integration 7.1.0, 7.0.0-7.0.5, 6.5.0-6.5.10, 6.4.0-6.4.12.
Oryginalny opis (angielski, źródło NVD)
SerializingHttpMessageConverter deserializes the body of incoming HTTP requests with a raw java.io.ObjectInputStream and no class filtering. Any request with Content-Type application/x-java-serialized-object whose body resolves to a Serializable type is read directly via readObject(). If an application using this converter on an inbound HTTP endpoint has any known Java deserialization "gadget" on its classpath, a remote, unauthenticated attacker can achieve arbitrary code execution. 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

