CVE-2026-103635: Apache DataSketches C++ out-of-bounds read in Theta sketch deserialization

CVE-2026-103635 · Severity: info · Published 2026-10-10

Apache DataSketches C++ is a library for probabilistic data analysis used in analytics and big data applications. The library's Theta sketch deserialization functions fail to properly validate input buffer size before reading header fields, allowing a crafted sketch to cause out-of-bounds memory reads. An attacker can trigger a crash (denial of service) or potentially expose adjacent memory contents by providing a malformed or truncated sketch to an application that deserializes untrusted data.

Technologies: Apache DataSketches C++. Vendors: Apache.

Quick answers

Is CVE-2026-103635 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-103635 being exploited in the wild.
How severe is CVE-2026-103635?
Informational severity, published 10 October 2026.
Which products and versions are affected?
Apache DataSketches C++ 3.1.0 through 5.2.0.
Is there a fix for CVE-2026-103635?
Yes: fixed in 5.3.0. Until then: Only applications that deserialize Theta sketches from untrusted sources are affected; applications that only process sketches from trusted internal sources are not at risk.</anigation> <parameter name="timeline">[{"kind":"disclosed","at":"2026-10-10"}] Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-103635 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-103635?
Check whether you run Apache DataSketches C++ at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • Fixed in: 5.3.0

Only applications that deserialize Theta sketches from untrusted sources are affected; applications that only process sketches from trusted internal sources are not at risk.</anigation> <parameter name="timeline">[{"kind":"disclosed","at":"2026-10-10"}]

Technical details

The compact_theta_sketch::deserialize() and wrapped_compact_theta_sketch::wrap() functions read header fields before validating that the input buffer is sufficiently long. In the compressed format, a 32-bit integer overflow can defeat the size check, and two unvalidated header fields control decoding logic. A crafted input causes a read past the buffer boundary; in compressed cases, over-reads can be large and read bytes may be incorporated into the deserialized sketch, leaking adjacent heap memory.

Affected products

  • Apache DataSketches C++ 3.1.0 through 5.2.0

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.