{"api_version":"1","generated_at":"2026-10-22T08:31:44+00:00","cve":"CVE-2026-103634","urls":{"html":"https://cve.report/CVE-2026-103634","api":"https://cve.report/api/cve/CVE-2026-103634.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-103634","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-103634"},"summary":{"title":"Apache DataSketches: datasketches-cpp: Out-of-bounds read and write in Count-Min sketch deserialization allows memory corruption via a crafted sketch","description":"Out-of-bounds read and write in the Count-Min sketch deserialization of Apache DataSketches C++ (repo: datasketches-cpp).\n\ncount_min_sketch::deserialize() did not include the preamble in its input size check, so a truncated sketch could cause a read of up to 16 bytes past the end of the input. In addition, the table size was computed from the serialized number of buckets and number of hash functions in 32-bit arithmetic. A crafted sketch could make it wrap to zero, so that the sketch deserialized with an empty table, and later updates and estimate queries read and wrote outside the heap allocation. This can corrupt heap memory, causing a crash and potentially enabling further exploitation.\n\nThis issue affects Apache DataSketches C++: from 4.1.0 before 5.3.0. Only applications that deserialize Count-Min sketches from untrusted sources are affected.\n\nUsers are recommended to upgrade to version 5.3.0, which fixes this issue.","state":"PUBLISHED","assigner":"apache","published_at":"2026-10-22 07:16:40","updated_at":"2026-10-22 07:16:40"},"problem_types":["CWE-190","CWE-787","CWE-787 CWE-787 Out-of-bounds write","CWE-190 CWE-190 Integer overflow or wraparound"],"metrics":[],"references":[{"url":"https://github.com/apache/datasketches-cpp/releases/tag/5.3.0","name":"https://github.com/apache/datasketches-cpp/releases/tag/5.3.0","refsource":"security@apache.org","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://lists.apache.org/thread/rkx9oh06g5cjc6vmmpqloxwfz0gzz01h","name":"https://lists.apache.org/thread/rkx9oh06g5cjc6vmmpqloxwfz0gzz01h","refsource":"security@apache.org","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"http://www.openwall.com/lists/oss-security/2026/10/10/4","name":"http://www.openwall.com/lists/oss-security/2026/10/10/4","refsource":"ADP","tags":[]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-103634","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-103634","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Apache Software Foundation","product":"Apache DataSketches","version":"affected 4.1.0 5.2.0 semver","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"He Huang","lang":"en"},{"source":"CNA","value":"NexusSan","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"providerMetadata":{"dateUpdated":"2026-10-22T07:16:57.732Z","orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE"},"references":[{"url":"http://www.openwall.com/lists/oss-security/2026/10/10/4"}],"title":"CVE Program Container"}],"cna":{"affected":[{"collectionURL":"https://github.com","defaultStatus":"unaffected","packageName":"apache/datasketches-cpp","packageURL":"pkg:github/apache/datasketches-cpp","product":"Apache DataSketches","vendor":"Apache Software Foundation","versions":[{"lessThanOrEqual":"5.2.0","status":"affected","version":"4.1.0","versionType":"semver"}]}],"credits":[{"lang":"en","type":"finder","value":"He Huang"},{"lang":"en","type":"tool","value":"NexusSan"}],"descriptions":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"<div>Out-of-bounds read and write in the Count-Min sketch deserialization of Apache DataSketches C++ (repo: datasketches-cpp).<br><br>count_min_sketch::deserialize() did not include the preamble in its input size check, so a truncated sketch could cause a read of up to 16 bytes past the end of the input. In addition, the table size was computed from the serialized number of buckets and number of hash functions in 32-bit arithmetic. A crafted sketch could make it wrap to zero, so that the sketch deserialized with an empty table, and later updates and estimate queries read and wrote outside the heap allocation. This can corrupt heap memory, causing a crash and potentially enabling further exploitation.<br><br>This issue affects Apache DataSketches C++: from 4.1.0 before 5.3.0. Only applications that deserialize Count-Min sketches from untrusted sources are affected.<br><br>Users are recommended to upgrade to version 5.3.0, which fixes this issue.</div>"}],"value":"Out-of-bounds read and write in the Count-Min sketch deserialization of Apache DataSketches C++ (repo: datasketches-cpp).\n\ncount_min_sketch::deserialize() did not include the preamble in its input size check, so a truncated sketch could cause a read of up to 16 bytes past the end of the input. In addition, the table size was computed from the serialized number of buckets and number of hash functions in 32-bit arithmetic. A crafted sketch could make it wrap to zero, so that the sketch deserialized with an empty table, and later updates and estimate queries read and wrote outside the heap allocation. This can corrupt heap memory, causing a crash and potentially enabling further exploitation.\n\nThis issue affects Apache DataSketches C++: from 4.1.0 before 5.3.0. Only applications that deserialize Count-Min sketches from untrusted sources are affected.\n\nUsers are recommended to upgrade to version 5.3.0, which fixes this issue."}],"metrics":[{"other":{"content":{"text":"moderate"},"type":"Textual description of severity"},"scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-787","description":"CWE-787 Out-of-bounds write","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-190","description":"CWE-190 Integer overflow or wraparound","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-22T06:42:20.454Z","orgId":"f0158376-9dc2-43b6-827c-5f631a4d8d09","shortName":"apache"},"references":[{"tags":["vendor-advisory"],"url":"https://lists.apache.org/thread/rkx9oh06g5cjc6vmmpqloxwfz0gzz01h"},{"tags":["release-notes"],"url":"https://github.com/apache/datasketches-cpp/releases/tag/5.3.0"}],"source":{"discovery":"EXTERNAL"},"title":"Apache DataSketches: datasketches-cpp: Out-of-bounds read and write in Count-Min sketch deserialization allows memory corruption via a crafted sketch","x_generator":{"engine":"Vulnogram 1.0.3"}}},"cveMetadata":{"assignerOrgId":"f0158376-9dc2-43b6-827c-5f631a4d8d09","assignerShortName":"apache","cveId":"CVE-2026-103634","datePublished":"2026-10-22T06:42:20.454Z","dateReserved":"2026-09-30T23:36:49.873Z","dateUpdated":"2026-10-22T07:16:57.732Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-22 07:16:40","lastModifiedDate":"2026-10-22 07:16:40","problem_types":["CWE-190","CWE-787","CWE-787 CWE-787 Out-of-bounds write","CWE-190 CWE-190 Integer overflow or wraparound"],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"103634","Ordinal":"1","Title":"Apache DataSketches: datasketches-cpp: Out-of-bounds read and wr","CVE":"CVE-2026-103634","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"103634","Ordinal":"1","NoteData":"Out-of-bounds read and write in the Count-Min sketch deserialization of Apache DataSketches C++ (repo: datasketches-cpp).\n\ncount_min_sketch::deserialize() did not include the preamble in its input size check, so a truncated sketch could cause a read of up to 16 bytes past the end of the input. In addition, the table size was computed from the serialized number of buckets and number of hash functions in 32-bit arithmetic. A crafted sketch could make it wrap to zero, so that the sketch deserialized with an empty table, and later updates and estimate queries read and wrote outside the heap allocation. This can corrupt heap memory, causing a crash and potentially enabling further exploitation.\n\nThis issue affects Apache DataSketches C++: from 4.1.0 before 5.3.0. Only applications that deserialize Count-Min sketches from untrusted sources are affected.\n\nUsers are recommended to upgrade to version 5.3.0, which fixes this issue.","Type":"Description","Title":"Apache DataSketches: datasketches-cpp: Out-of-bounds read and wr"}]}}}