ZeroHour

CVE-2026-87962

Deserialization DoS in t-digest 3.1–3.3 (MergingDigest.fromBytes)

CVSS 4.0
8.7 high
EPSS
Published
()
Modified
AI analysis

CVE-2026-87962 is a denial-of-service flaw in the t-digest library's MergingDigest.fromBytes deserialization routine, which reads the length and capacity fields from the serialized header without validating them (CWE-1284). An attacker who can supply serialized digest bytes to an affected application can craft a digest with mismatched header fields, causing the parser to allocate or index arrays incorrectly and throw an ArrayIndexOutOfBoundsException or NegativeArraySizeException. Because the exception is unhandled in fromBytes, it aborts the parsing thread; if the calling application does not catch it, repeated crafted digests can disrupt or exhaust processing workers, producing a denial of service (CVSS 4.0 rates the availability impact High at 8.7). Only applications running t-digest versions 3.1 through 3.3 that deserialize attacker-controlled or otherwise untrusted digest data are affected; deployments that only compute digests internally from their own data are not directly exposed. There are no reports of in-the-wild exploitation, no public proof-of-concept, and the issue is not listed in CISA's KEV.

What to do: Upgrade t-digest to a fixed release (any version after 3.3) once available and rebuild/redeploy applications that bundle the library. Until then, restrict deserialization of digest bytes to trusted sources or wrap MergingDigest.fromBytes calls with exception handling and pre-validation of the header's length and capacity fields. Operators of analytics platforms that embed t-digest should check with the platform vendor for patched builds and whether their deserialization path accepts untrusted input.

Affected
t-digest (open-source library) t-digest3.1 through 3.3 (inclusive)
Estimated exposure
unknown — the library is widely embedded in Java analytics/data-processing stacks, but only services that parse untrusted serialized digests are reachable — t-digest is a broadly deployed embedded library across data-processing and analytics platforms, yet the flaw is only triggerable where an application deserializes attacker-supplied digest bytes, and no data in this record quantifies how…

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

Description

t-digest versions 3.1 through 3.3 contain a denial of service vulnerability in MergingDigest.fromBytes that fails to validate length and capacity fields from serialized data. Attackers can supply crafted serialized digests with mismatched header fields to trigger ArrayIndexOutOfBoundsException or NegativeArraySizeException, aborting the parsing thread.

Weakness
CWE-1284
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.