CVE-2026-103513
NieznaneStreszczenie
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.
Ocena ryzyka
Aplikacje deserializujące szkice CPC z niezaufanych źródeł mogą ulec awarii lub uszkodzeniu pamięci, 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 CPC 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-103635Nieznane
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-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 and write in the CPC sketch deserialization of Apache DataSketches C++ (repo: datasketches-cpp). A crafted serialized CPC sketch passed to cpc_sketch::deserialize(), from either a byte buffer or a stream, can cause the decompressor to read past the end of the compressed data, because the read position was only checked after decoding finished. In the hybrid flavor, it can also cause a write outside an internal heap buffer, because decoded row indices were not validated. Several other header fields and decoded values, including lg_k, were also not validated. This can corrupt heap memory, causing a crash and potentially enabling further exploitation. This issue affects Apache DataSketches C++: from 2.0.0-incubating before 5.3.0. Only applications that deserialize CPC 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

