CVE-2026-111496
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Kafka Streams wyznacza swój zegar czasu strumienia na podstawie rekordowych znaczników czasu. Funkcja PunstandingSchedule.next() obliczyła następny czas interpunkcji jako sygnatura czasowa + (intervalsMissed + 1) * interwał bez sprawdzania przepełnienia. Rekord ze sygnaturą czasową równą lub bliską wartości Long.MAX_VALUE przyspiesza czas transmisji do tej wartości, więc następna interpunkcja czasu transmisji zostanie przekroczona do czasu ujemnego. Następnie PuncationQueue ponownie umieszcza ten czas w kolejce i zapętla go w nieskończoność, trzymając blokadę, wstrzymując StreamThread.
Wpływ:
Wystarczy jeden rekord. StreamThread, którego dotyczy problem, przestaje przetwarzać, a ponieważ rekord pozostaje w temacie, zawieszenie powraca po ponownym uruchomieniu; aplikacja, której dotyczy to wszystkich partycji, przestaje odpowiadać. Dotyczy to tylko aplikacji Streams, a nie brokerów ani klastra. Aby go uruchomić, potrzebny jest dostęp do zapisu do tematu źródłowego, którego topologia wykorzystuje interpunkcję w czasie strumienia, oraz broker przechowujący rekord: brokerzy z Apache Kafka 4.0.0 domyślnie odrzucają taki znacznik czasu (log.message.timestamp.after.max.ms, jedna godzina), więc jest on osiągalny tylko w przypadku starszych brokerów lub tam, gdzie to ograniczenie zostało złagodzone.
Łagodzenie:
Uaktualnij strumienie Kafka do wersji 4.2.2, 4.3.2 lub 4.4.0. Aby zapewnić głębszą obronę, ogranicz log.message.timestamp.after.max.ms do tematów źródłowych i ogranicz do nich dostęp do zapisu.
Rozdzielczość:
Od wersji Apache Kafka 4.2.2, 4.3.2 i 4.4.0: czas następnej interpunkcji jest obliczany przy użyciu arytmetyki sprawdzanej przy przepełnieniu (przypięty do Long.MAX_VALUE), a przełożona interpunkcja jest ponownie umieszczana w kolejce dopiero wtedy, gdy jej czas przesunie się do przodu.
>_ Słabości (CWE)
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org