☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
SOON 🐛 CWE-122
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-103501

CVE-2026-103501 Heap Buffer Overflow in Apache
📅 PUBLISHED: 2026-10-10 00:00 UTC 🔄 UPDATED: 2026-10-11 05:00 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🥷 MITRE: T1203
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: 1.0.0-incubating - 5.2.x (before 5.3.0)
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-103501 is a heap buffer overflow (CWE-122) in the HLL sketch deserialization logic of Apache DataSketches C++, triggered when a sketch in LIST mode is deserialized from an attacker-controlled byte buffer or input stream. During deserialization, a coupon count read from the input is used to copy entries into a fixed internal 8-entry buffer without validating it against the buffer capacity, allowing a write of up to 988 bytes past the end of the heap allocation. Applications that deserialize HLL sketches from untrusted sources are affected; exploitation can corrupt heap memory, cause a crash, and may enable further exploitation (e.g., code execution) under the right memory layout conditions.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability resides in the deserialization path of Apache DataSketches C++, a library implementing streaming sketch algorithms. The HLL (HyperLogLog) sketch is serialized in one of two modes: HASH mode or LIST mode. In LIST mode, the sketch stores raw coupon values rather than a compressed register array. The described flaw occurs specifically when deserializing a LIST-mode sketch from either a byte buffer or a stream.

Per the advisory, the deserializer reads a coupon count from the untrusted input and subsequently uses that value as the number of entries to copy into a fixed-size internal buffer of 8 entries. No bounds check is performed against the buffer's capacity before the copy. An attacker supplying a crafted sketch can therefore force a write of up to 988 bytes beyond the end of the heap buffer. The bound of 988 bytes is consistent with the maximum discrepancy between an attacker-chosen coupon count and the 8-entry buffer capacity, multiplied by the entry size — though the exact entry width is not stated in the description, and this report does not speculate on it.

The overflow writes past the end of an internal heap allocation, corrupting adjacent heap metadata or objects. Consequences range from an immediate crash (denial of service) to controlled heap corruption. In languages with manual memory management (C++), heap overflow of this nature is a well-understood primitive that can lead to arbitrary write, control-flow hijack, or information disclosure depending on object placement and allocator behavior. The advisory classifies the issue under CWE-122 (Heap-based Buffer Overflow).

Attack surface: any application, service, or data-processing pipeline that accepts a serialized HLL sketch from an external or untrusted source and deserializes it. Because sketches are often passed between distributed components (e.g., aggregation services, telemetry pipelines, or analytics backends), the deserialization boundary may be remote. The vulnerability is in the library, not a specific product, so downstream consumers of datasketches-cpp inherit the exposure.

Affected versions: from 1.0.0-incubating before 5.3.0. Version 5.3.0 fixes the issue. No patch evidence was available in the tracked sources at the time of writing (patch confidence 0/4), and the fix is identified solely by the fixed version reference in the description.

Exploitation Scenarios

Strictly based on the available description, exploitation follows this chain:

  1. Reconnaissance / target identification. Identify a running service or component that accepts serialized HLL sketches. This may be an analytics aggregator, a distributed query engine, a telemetry collector, or any custom application embedding datasketches-cpp. Detection focuses on exposed endpoints or interfaces that ingest binary sketch payloads.

  2. Triggering the flaw class. The attacker crafts a serialized HLL sketch in LIST mode and manipulates the coupon count field so that it exceeds the capacity of the fixed 8-entry internal buffer. No mitigation exists within the vulnerable versions — the count is trusted directly from the input.

  3. Payload / execution method. The crafted sketch is delivered as a byte buffer or over a stream to the vulnerable deserialization routine. The deserializer copies the attacker-specified number of entries into the fixed buffer, writing up to 988 bytes past the allocation boundary. This is the heap overflow trigger.

  4. Post-exploitation impact. Heap corruption results. At minimum, the process crashes (DoS). Depending on heap layout, allocator behavior, and what the corrupted memory is used for, an attacker may be able to influence adjacent objects, leading to further exploitation such as arbitrary code execution or privilege escalation within the host process context. The advisory explicitly notes this "may enable further exploitation."

No public proof-of-concept, exploit code, or Nuclei template is available. The attack chain above is inferred from the vulnerability class and the advisory text; no specific function names, parameters, or API paths beyond those in the description are asserted.

Impact Assessment

The CVSS score is N/A in the source data. The flaw maps to CWE-122. Qualitatively, the impact includes:

  • Availability: High — heap corruption reliably causes process crash/DoS.
  • Confidentiality/Integrity: Potentially High, but conditional on the memory layout and whether an attacker gains a useful write primitive. The advisory frames this as "potentially enabling further exploitation."
  • Scope: Unchanged — the vulnerability is within the affected library process.
  • Attack vector: Network if the deserialization interface is remotely reachable; otherwise adjacent/local via file or stream ingestion.
  • Privileges required: None if the service is unauthenticated; depends on the consuming application.
  • User interaction: None required for automated deserialization pipelines.

Blast radius: any downstream product, service, or platform embedding datasketches-cpp versions 1.0.0-incubating through 5.2.x and deserializing untrusted HLL sketches. Because the library is a widely reused component, exposure is propagated through dependency trees rather than a single vendor product. Organizations must enumerate their software bills of materials to determine exposure.

Detection Guidance

Sigma Rule

title: Apache DataSketches C++ HLL LIST-Mode Deserialization Heap Overflow Attempt
id: 8f3c2a91-7d54-4e0b-9a11-0f5b6c2d9e77
status: experimental
description: Detects process crashes or suspicious activity associated with processing crafted HLL sketches (CVE-2026-103501) in DataSketches C++.
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2026-103501
author: valtersit.com
date: 2026/01/01
logsource:
  category: process_creation
  product: linux
detection:
  selection:
    - Image|endswith: '/data-sketch-service'
    - CommandLine|contains: 'datasketches'
  keywords:
    - 'heap-buffer-overflow'
    - 'HLL'
    - 'LIST mode'
  condition: selection or keywords
falsepositives:
  - Legitimate crash reports from non-malicious malformed sketches
level: high
tags:
  - attack.t1203
  - cwe.122

YARA Rule

rule CVE_2026_103501_DataSketches_HLL_HeapOverflow
{
    meta:
        description = "Detects serialized HLL sketch artifacts associated with CVE-2026-103501"
        author = "valtersit.com"
        date = "2026-01-01"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-103501"
        cwe = "CWE-122"

    strings:
        $hll_magic = { 0x0A }
        $sketch_tag = "HLL" ascii wide
        $list_tag = "LIST" ascii wide

    condition:
        uint16(0) == 0x0A0A or ($sketch_tag and $list_tag) or $hll_magic at 0
}

Suricata IDS Rule

alert tcp any any -> any any (msg:"CVE-2026-103501 Apache DataSketches HLL LIST-Mode Deserialization Heap Overflow Attempt"; flow:established,to_server; content:"|0A|"; depth:1; byte_test:4,>,1024,1,relative; sid:1035010; rev:1; metadata:created_at 2026_01_01, cve CVE-2026-103501, cwe CWE-122; classtype:attempted-admin;)

Elastic Detection

process where process.name != null and
  (process.command_line : "*datasketches*" or process.command_line : "*hll*") and
  event.action == "start"

Splunk SPL Query

index=main (sourcetype=syslog OR sourcetype=app_logs)
| search ("heap-buffer-overflow" OR "CVE-2026-103501" OR ("datasketches" AND "HLL" AND "LIST"))
| stats count min(_time) as first_seen max(_time) as last_seen by host, process_name, dest
| where count > 0
| sort - count

Wazuh OSSEC Rule

<group name="datasketches,cve-2026-103501,">
  <rule id="103501" level="12">
    <decoded_as>json</decoded_as>
    <field name="message">heap-buffer-overflow|datasketches.*HLL.*LIST</field>
    <description>CVE-2026-103501: Apache DataSketches C++ HLL LIST-mode deserialization heap overflow detected</description>
    <mitre>
      <id>T1203</id>
    </mitre>
    <group>cve_2026_103501,</group>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source). The advisory states version 5.3.0 fixes the issue, but no tracked patch confirmation is available.

  1. Immediate mitigations:

    • Do not deserialize HLL sketches from untrusted or unauthenticated sources. Validate and authenticate sketch producers at the application boundary.
    • If sketches must cross trust boundaries, wrap deserialization in a sandboxed/isolated process to contain heap corruption and crashes.
    • Set strict input size limits and reject sketches with anomalous LIST-mode coupon counts prior to invoking the library (defense in depth, application-side).
    • Monitor for process crashes, heap-buffer-overflow sanitizer reports, and abnormal memory usage in services that consume sketches.
  2. Patch/upgrade steps:

    • Upgrade Apache DataSketches C++ to 5.3.0 or later.
    • Rebuild all downstream consumers against the patched library and redeploy.
    • Audit dependency manifests and SBOMs to identify transitive use of affected versions (1.0.0-incubating through 5.2.x).
  3. Long-term hardening:

    • Enforce bounds checking and fuzzing in deserialization code paths across all serialization formats used by the library.
    • Adopt memory-safe languages or hardened allocators for handling untrusted binary input where feasible.
    • Integrate dependency-vulnerability scanning into CI/CD to detect inherited library flaws promptly.
    • Establish a patch-tracking process for embedded C/C++ libraries that may not receive CVE notifications directly.

References

No CISA KEV listing, no known threat actor campaign, and no exploit-in-the-wild evidence was identified in the available data. No public PoC, exploit code, or Nuclei template exists at the time of writing.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

product:"Apache"
title:"Apache"
product:"Apache" "1.0.0-incubating"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-103501/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.