Skip to content
NewA calmer, faster ZeroHour
Vulnerability2 · 1 read

CVE-2026-103513

Out-of-bounds read/write in DataSketches C++ CPC deserialization

CVSS 3.1
9.8 critical
EPSS
—
Published
·
Modified
Analyze CVE-2026-103513 with Vani AIImpact, affected versions, exploitation status, mitigations and detection

Apache DataSketches C++ has an out-of-bounds read and write in CPC sketch deserialization. A crafted serialized CPC sketch passed to cpc_sketch::deserialize() from a byte buffer or a stream can make the decompressor read past the end of the compressed data, because the read position is checked only after decoding finishes. In the hybrid flavor, unvalidated decoded row indices can also write outside an internal heap buffer, and other header and decoded values including lg_k are not validated. That can corrupt heap memory, crash the process, and potentially enable further exploitation. Only applications that deserialize CPC sketches from untrusted sources are affected, and no public proof of concept or in-the-wild exploitation is known.

What to do: Upgrade Apache DataSketches C++ to 5.3.0. Until then, do not pass CPC sketches from untrusted sources to cpc_sketch::deserialize(), and review any service that accepts serialized sketches over the network or from user-controlled storage.

ProductAffected
Apache DataSketches C++ (datasketches-cpp)2.0.0-incubating before 5.3.0
Estimated exposure
No basis for an estimate.

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description · 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.

Weakness
CWE-125, CWE-787
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

In the news

1 story