Skip to content
Heist/ feed
Back to feed
Critical

Apache DataSketches: datasketches-cpp: Out-of-bounds read in compact Theta sketch deserialization allows denial of service via a crafted sketch

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-103635
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 18:13 UTC · Revision 1

Source evidence

Apache DataSketches: datasketches-cpp: Out-of-bounds read in compact Theta sketch deserialization allows denial of service via a crafted sketch

core-osv · Original source

Published 10 Oct 2026, 10:23 UTC

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.

osv:CVE-2026-103635
Complete source record
{
  "id": "caeb24c4d723173ef3da05cd3ae8100f696756231256ebb7e8cac64975487767",
  "url": "https://osv.dev/vulnerability/CVE-2026-103635",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Apache DataSketches: datasketches-cpp: Out-of-bounds read in compact Theta sketch deserialization allows denial of service via a crafted sketch",
    "summary": "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.",
    "evidence": "osv:CVE-2026-103635",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-103635",
      "aliases": [
        "CVE-2026-103635"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/apache/datasketches-cpp",
              "type": "GIT",
              "events": [
                {
                  "introduced": "a375f9805ab8064b20e6a1b82282e4d04b102328"
                },
                {
                  "fixed": "5b5524f55d121225a7909c2851271327684585d7"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "3.1.0"
                      },
                      {
                        "last_affected": "5.2.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "fixed": "5b5524f55d121225a7909c2851271327684585d7"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "5.3.0"
                  }
                ]
              }
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-103635.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:31.293648243Z",
      "provider": "osv",
      "references": [
        "https://github.com",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/103xxx/CVE-2026-103635.json",
        "https://github.com/apache/datasketches-cpp/releases/tag/5.3.0",
        "https://lists.apache.org/thread/15b86y9jstco39kzppjw7l5kvhjvwqvv",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-103635"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-125",
          "CWE-190"
        ],
        "cna_assigner": "apache",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/103xxx/CVE-2026-103635.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-103635",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 498323,
  "published_at": "2026-10-10T10:23:48.598+00:00"
}