CVE-2026-103635
NieznaneStreszczenie
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.
Ocena ryzyka
Aplikacje deserializujące szkice Theta z niezaufanych źródeł mogą ulec awarii lub ujawnić zawartość pamięci. Może to skutkować odmową usługi i wyciekiem danych.
Rekomendacja
Zaktualizuj Apache DataSketches C++ do wersji 5.3.0. Unikaj deserializacji szkiców Theta z niezaufanych źródeł.
Inne podatności w Apache DataSketches C++
Zobacz wszystkie- CVE-2026-103636Nieznane
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.
- CVE-2026-103513Nieznane
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-103501Nieznane
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.
Oryginalny opis (angielski, źródło NVD)
Out-of-bounds read in the compact Theta sketch deserialization of Apache DataSketches C++ (repo: datasketches-cpp). compact_theta_sketch::deserialize() and wrapped_compact_theta_sketch::wrap() read header fields before checking that the input was long enough. For the compressed format, the size check could be defeated by a 32-bit overflow, and two header fields that control decoding were not validated; this also affected deserialization from a stream. A crafted or truncated sketch could cause a read past the end of the input. In the compressed case the over-read can be large, and the bytes read can become part of the deserialized sketch. This can cause a crash (denial of service) and could expose adjacent memory contents. This issue affects Apache DataSketches C++: from 3.1.0 before 5.3.0. Only applications that deserialize Theta 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

