Wysoki Odebrany

CVE-2026-110747

opublikowano:
modyfikacja:
Ocena CVSS
7.5
Wysoki · v3.1
wektor: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

>_ Opis

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

ProtobufParser._readStringKey() odczytuje przedrostek długości klucza ciągu wpisu mapy protobuf do int kontrolowanego przez atakującego, a następnie sprawdza (_inputPtr + len) <= _inputEnd, używając arytmetyki ze znakiem. Dla wartości bliskich Integer.MAX_VALUE dodawanie przekracza wartość ujemną i sprawdzanie kończy się sukcesem, nawet jeśli dane wejściowe nie zawierają kluczowych danych. Następnie parser wywołuje funkcję _finishShortText(len), która rozszerza bufor tekstowy do zadeklarowanej długości za pośrednictwem TextBuffer.expandCurrentSegment i Arrays.copyOf, wyrzucając OutOfMemoryError: Żądany rozmiar tablicy przekracza limit maszyny wirtualnej.



Wystarczający jest 8-bajtowy zniekształcony komunikat zawierający wpis mapy z zadeklarowaną długością klucza 0x7FFFFFFFF. Skonfigurowane ograniczenia StreamReadConstraints, w tym maxStringLength, maxNameLength, maxDocumentLength i maxNestingDepth, nie zapobiegają awariom. Aplikacje działające z -XX:+ExitOnOutOfMemoryError kończą maszynę JVM.



Jest to ten sam wzorzec przepełnienia liczb całkowitych, który dotyczy innych miejsc połączeń w ramach działań zaradczych związanych z CVE-2026-104016 i CVE-2026-104017; miejsce wywoływania klucza mapy zostało poprawione tylko w gałęziach 3.x, pozostawiając odpowiednie gałęzie 2.x niestrzeżone. Linie wersji 2.18, 2.19 i 2.20 nie zawierają funkcji _readStringKey() i wektor ten nie ma na nie wpływu. Nie są wymagane żadne uprawnienia ani interakcja użytkownika poza możliwością przesłania danych do analizy. Linie wersji 3.0 i 3.1.0-3.1.5 / 3.2.0-3.2.1 nie zawierają funkcji _readStringKey() i dlatego nie ma to na nie wpływu; metoda pojawia się po raz pierwszy w 3.1.6 i 3.2.2, odzwierciedlając jej wprowadzenie w 2.21.6 po stronie 2.x.

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