Odebrany

CVE-2026-114349

opublikowano:
modyfikacja:
Ocena CVSS
n/a
Brak oceny

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

Gdy broker dekoduje skompresowaną partię rekordów, dekoder poszczególnych rekordów odczytuje zadeklarowany rozmiar treści ze zdekompresowanego strumienia i przydziela bufor o tym rozmiarze przed sprawdzeniem go pod kątem dostępnych bajtów lub dowolnego skonfigurowanego limitu. Rozmiar jest kontrolowany przez osobę atakującą, a wsadowe CRC go nie ogranicza, więc małe (około 90-bajtowe) skompresowane żądanie utworzenia z poprawnością CRC może zadeklarować rozmiar treści do około 2 GiB i zmusić brokera do podjęcia próby tej alokacji, wywołując OutOfMemoryError. Limit rozmiaru rekordu (maks. wiadomość w bajtach), limit rozmiaru żądania i limity klienta/brokera ograniczają tylko rozmiar skompresowanego przewodu, a nie zadeklarowany rozmiar po zdekompresowaniu.


Wpływ:

Uwierzytelniony podmiot zabezpieczeń z opcją Write on the topic może powodować awarię wątków obsługi żądań brokera (osiąganych, gdy kodek partii różni się od kompresji.type tematu i rekordy są ponownie kodowane) oraz dowolnego konsumenta pobierającego rekord, odmawiając usługi. W przypadku brokerów rozpoczynających się od opcji -XX:+ExitOnOutOfMemoryError, co jest częstym utrudnieniem, pojedyncze spreparowane żądanie kończy maszynę JVM brokera. A co ważniejsze, spreparowany rekord jest akceptowany podczas przetwarzania i zapisywany na dysku; gdy moduł czyszczący dzienniki później odczyta go w skompaktowanym temacie, błąd OutOfMemoryError (błąd, a nie wyjątek) kończy wątek czyszczący, który nie jest uruchamiany ponownie. Przy domyślnym pojedynczym wątku czyszczącym zagęszczanie logów zostaje zatrzymane dla całego brokera, łącznie z wewnętrznymi tematami __consumer_offsets i __transaction_state, a stan utrzymuje się po ponownym uruchomieniu do czasu usunięcia naruszającego rekordu. Wpływ dotyczy wyłącznie dostępności; żadne dane nie są ujawniane ani zmieniane.


Łagodzenie:

Uaktualnij do Apache Kafka 4.2.2, 4.3.2 lub 4.4.0 i ustaw wartość max.decompressed.message.bytes (na poziomie brokera i/lub tematu) na ograniczoną wartość odpowiednią dla Twojego obciążenia. Sama aktualizacja nie wystarczy: w celu zapewnienia zgodności wstecznej ta konfiguracja domyślnie przyjmuje faktycznie nieograniczoną wartość (około 2 GiB), więc broker pozostaje odsłonięty do czasu ustawienia limitu. Wybierz wartość równą lub nieco wyższą od największego legalnego zdekompresowanego rekordu generowanego przez aplikacje i wygodnie poniżej sterty brokera podzielonej przez liczbę wątków obsługi żądań i wątków czyszczących. Dopóki nie uaktualnisz i nie skonfigurujesz limitu, ogranicz dostęp do zapisu do zaufanych producentów; przydziały i max.message.bytes nie łagodzą tego problemu.


Rozdzielczość:

Od wersji Apache Kafka 4.2.2, 4.3.2 i 4.4.0: broker sprawdza zadeklarowany rozmiar zdekompresowanej treści rekordu w oparciu o max.decompressed.message.bytes przed alokacją w ścieżkach sprawdzania poprawności produktu, kompresowania dziennika i wyszukiwania sygnatury czasowej oraz odrzuca rozmiary nadmierne lub ujemne za pomocą wyjątku InvalidRecordException. Operatorzy muszą ustawić tę konfigurację na ograniczoną wartość, aby była chroniona, ponieważ jej wartość domyślna jest faktycznie nieograniczona.

>_ 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