CVE-2026-41731
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 41 - wyżej niż 41% wszystkich znanych CVE
Streszczenie
JsonKafkaHeaderMapper i przestarzały DefaultKafkaHeaderMapper dopasowują nagłówki typów do zaufanych pakietów za pomocą sprawdzania prefiksu, co oznacza, że zaufanie dowolnemu pakietowi niejawnie ufa wszystkim jego podpakietom. W połączeniu z domyślną deserializacją beanów Jacksona, producent może dostarczyć spreparowane wartości nagłówków, które powodują deserializację dowolnych typów JDK przez konsumenta. Dotyczy Spring for Apache Kafka 4.0.0-4.0.5, 3.3.0-3.3.15, 3.2.0-3.2.13, 2.9.0-2.9.13, 2.8.0-2.8.11.
Ocena ryzyka
Atakujący (producent wiadomości) może zdalnie wykonać dowolny kod na konsumencie Kafka poprzez deserializację niebezpiecznych typów JDK.
Rekomendacja
Zaktualizuj Spring for Apache Kafka do wersji 4.0.6, 3.3.16, 3.2.14, 2.9.14 lub 2.8.12 (w zależności od używanej linii).
Inne podatności w Spring for Apache Kafka
Zobacz wszystkie- CVE-2026-59317Średnie
DeadLetterPublishingRecovererFactory odczytuje nagłówek retry_topic-original-timestamp z przychodzącego ConsumerRecord i przekazuje jego surowe bajty bezpośrednio do new BigInteger(header.value()) bez walidacji długości lub formatu. Podatność dotyczy Spring for Apache Kafka w wersjach 4.1.0, 4.0.0-4.0.6, 3.0.0-3.3.16, 2.9.0-2.9.14 oraz 2.8.12 i wcześniejszych.
- CVE-2026-59278Średnie
JsonKafkaHeaderMapper i DefaultKafkaHeaderMapper zawierają java.net na liście domyślnych zaufanych pakietów. Gdy te mappery są używane (co jest domyślną konfiguracją dla wszystkich konsumentów @KafkaListener), zewnętrzny producent Kafka może wstrzyknąć typ java.net.InetAddress przez nagłówek wiadomości spring_json_header_types. Podatność dotyczy Spring for Apache Kafka w wersjach 4.1.0, 4.0.0-4.0.6, 3.0.0-3.3.16, 2.9.0-2.9.14 oraz 2.8.12 i wcześniejszych.
- CVE-2026-41727Średnie
Infrastruktura tematów ponownych prób Spring Kafka nie walidowała wystarczająco wartości nagłówków kontrolowanych przez użytkownika przed działaniem na nich. Producent mógł wysłać rekord z spreparowanym nagłówkiem retry_topic-attempts, aby podać nieprawidłową liczbę prób i spowodować błędną identyfikację pozycji wiadomości w sekwencji ponownych prób przez router tematów ponownych prób.
- CVE-2026-41726Średnie
Spring for Apache Kafka w wersjach 4.0.0-4.0.5, 3.3.0-3.3.15, 3.2.0-3.2.13, 2.9.0-2.9.13 i 2.8.0-2.8.11 pozwala producentowi na nieograniczone zwiększanie sterty konsumenta poprzez wysyłanie rekordów z unikalnymi wartościami nagłówka spring.kafka.serialization.selector, co prowadzi do przeciążenia GC i błędu OutOfMemoryError.
- CVE-2023-34040Średnie
W Spring dla Apache Kafka w wersjach 3.0.9 i wcześniejszych oraz 2.9.10 i wcześniejszych istnieje potencjalna podatność na atak deserializacji, która występuje tylko w przypadku nietypowej konfiguracji. Atakujący musiałby skonstruować złośliwy obiekt serializowany w jednym z nagłówków rekordów wyjątków deserializacji.
Oryginalny opis (angielski, źródło NVD)
JsonKafkaHeaderMapper and the deprecated DefaultKafkaHeaderMapper matched type headers against trusted packages using a prefix check, meaning that trusting any package implicitly trusted all of its subpackages. Combined with Jackson's default bean deserialization, a producer could supply crafted header values that caused the consumer to deserialize arbitrary JDK types. Affected versions: Spring for Apache Kafka 4.0.0 through 4.0.5; 3.3.0 through 3.3.15; 3.2.0 through 3.2.13; 2.9.0 through 2.9.13; 2.8.0 through 2.8.11.

