CVE-2026-103501
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 11 - wyżej niż 11% wszystkich znanych CVE
Streszczenie
Podatność typu heap buffer overflow w deserializacji szkicu HLL w Apache DataSketches C++ (datasketches-cpp). Przy deserializacji szkicu w trybie LIST liczba kuponów była odczytywana z danych wejściowych i używana jako liczba wpisów kopiowanych do stałego bufora o rozmiarze 8, bez sprawdzenia pojemności. Spreparowany szkic może spowodować zapis do 988 bajtów poza końcem bufora sterty, uszkadzając pamięć. Dotyczy wersji od 1.0.0-incubating do 5.3.0.
Ocena ryzyka
Aplikacje deserializujące szkice HLL z niezaufanych źródeł mogą ulec awarii lub uszkodzeniu pamięci sterty, co potencjalnie umożliwia dalszą eksploatację. Może to prowadzić do odmowy usługi i przejęcia kontroli nad procesem.
Rekomendacja
Zaktualizuj Apache DataSketches C++ do wersji 5.3.0. Unikaj deserializacji szkiców HLL z niezaufanych źródeł.
Inne podatności w Apache DataSketches C++
Zobacz wszystkie- CVE-2026-103635Krytyczne
Podatność typu out-of-bounds read w deserializacji kompaktowego szkicu Theta w Apache DataSketches C++ (datasketches-cpp). Funkcje compact_theta_sketch::deserialize() i wrapped_compact_theta_sketch::wrap() odczytywały pola nagłówka przed sprawdzeniem długości danych; w formacie skompresowanym sprawdzenie rozmiaru mogło zostać obejście przez przepełnienie 32-bitowe. Spreparowany lub obcięty szkic może powodować odczyt poza końcem bufora, duży w przypadku skompresowanym, co może prowadzić do awarii i ujawnienia pamięci. Dotyczy wersji od 3.1.0 do 5.3.0.
- CVE-2026-103513Krytyczne
Podatność typu out-of-bounds read i write w deserializacji szkicu CPC w Apache DataSketches C++ (datasketches-cpp). Spreparowany szkic CPC przekazany do cpc_sketch::deserialize() może spowodować odczyt poza końcem skompresowanych danych, a w wariancie hybrydowym także zapis poza wewnętrznym buforem sterty z powodu braku walidacji indeksów wierszy. Może to uszkodzić pamięć sterty, powodując awarię i potencjalnie umożliwiając dalszą eksploatację. Dotyczy wersji od 2.0.0-incubating do 5.3.0.
- CVE-2026-103634Średnie
Podatność w deserializacji Count-Min sketch w Apache DataSketches C++ (wersje 4.1.0 do 5.3.0) polega na braku uwzględnienia preambuły w sprawdzaniu rozmiaru wejścia, co może prowadzić do odczytu poza granicami bufora. Dodatkowo rozmiar tabeli jest obliczany w 32-bitowej arytmetyce, co może spowodować przepełnienie do zera i późniejsze odczyty/zapisy poza alokacją, uszkadzając pamięć sterty.
- CVE-2026-103636Wysokie
Podatność typu out-of-bounds read w deserializacji unii VarOpt w Apache DataSketches C++ (datasketches-cpp). Funkcja var_opt_union::deserialize() odczytywała 32-bajtowy nagłówek po sprawdzeniu dostępności tylko 8 bajtów, co przy obciętych danych mogło powodować odczyt do 24 bajtów poza końcem bufora. Może to prowadzić do awarii (odmowa usługi) i ujawnienia sąsiedniej pamięci. Dotyczy wersji od 2.0.0-incubating do 5.3.0.
Oryginalny opis (angielski, źródło NVD)
Heap buffer overflow in the HLL sketch deserialization of Apache DataSketches C++ (repo: datasketches-cpp). When deserializing a sketch in LIST mode, from either a byte buffer or a stream, the coupon count was read from the input and used as the number of entries to copy into a fixed buffer of 8 entries, without checking it against the buffer's capacity. A crafted sketch could cause a write of up to 988 bytes past the end of this internal heap buffer. This can corrupt heap memory, causing a crash and potentially enabling further exploitation. This issue affects Apache DataSketches C++: from 1.0.0-incubating before 5.3.0. Only applications that deserialize HLL sketches from untrusted sources are affected. Users are recommended to upgrade to version 5.3.0, which fixes this issue.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

