CVE-2026-111115
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Czytniki generowane przez kod Apache Kafka dla elastycznych wersji protokołów odczytują liczbę otagowanych pól zadeklarowaną przez nadawcę i zachowują obiekt RawTaggedField dla każdego nieznanego pola. Liczba ta była ograniczona jedynie rozmiarem zewnętrznej ramki żądania (socket.request.max.bytes); nie został sprawdzony pod kątem pozostałych bajtów bufora ani nie został ograniczony. Ponieważ każdy wpis może być zakodowany w zaledwie dwóch bajtach (nieznany tag 0, rozmiar 0), skromne żądanie może zadeklarować dziesiątki milionów otagowanych pól i wymusić alokację jednego obiektu na zadeklarowane pole. Elastyczne nagłówki żądań (nagłówek w wersji 2, używany przez elastyczne interfejsy API, takie jak ApiVersions v3) są analizowane w ten sposób, więc wzmocnienie dotyczy samego nagłówka żądania.
Wpływ:
Elastyczny nagłówek żądania jest analizowany w wątku sieciowym przed autoryzacją, wysłaniem żądania i obliczeniem limitu czasu żądania. Klient może wysłać żądanie o wielkości kilkudziesięciu megabajtów, którego nagłówek deklaruje około 20 milionów oznaczonych pól, wymuszając mniej więcej tyle samo alokacji RawTaggedField i wyczerpując stos brokerów lub powodując przestoje GC w całym procesie, odmawiając usługi brokera. Ponieważ nagłówek jest analizowany pod kątem interfejsów API przed uwierzytelnieniem, takich jak ApiVersions (v3), alokacja może nastąpić przed uwierzytelnieniem; nie jest wymagana żadna lista ACL ani przydział zasobów Kafki.
Łagodzenie:
Uaktualnij do Apache Kafka 4.2.2, 4.3.2 lub 4.4.0. Do tego czasu zmniejszenie wartości Socket.request.max.bytes i ograniczenie dostępu do sieci dla słuchaczy brokerów zmniejsza ryzyko, ale go nie usuwa.
Rozdzielczość:
Od Apache Kafka 4.2.2, 4.3.2 i 4.4.0: wygenerowane granice czytników — sprawdź liczbę otagowanych pól pod kątem komunikatów w wersji elastycznej, odrzucając liczbę ujemną, liczbę przekraczającą pozostałe bajty bufora lub liczbę przekraczającą ustalone maksimum (10 000) przed jakąkolwiek alokacją na pole.
>_ 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