Skip to main content

HdrHistogram CVE-2026-14686

| EUVDEUVD-2026-41708 LOW
Incorrect Comparison (CWE-697)
2026-07-05 VulDB GHSA-pcmr-4mmx-225x
1.9
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain local process/system access
  2. Delivery
    Identify application using DoubleHistogram.recordValue()
  3. Exploit
    Craft out-of-range floating-point value
  4. Execution
    Submit value through application input path
  5. Persist
    Bypass flawed range check
  6. Impact
    Corrupt histogram integrity data

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Incorrect comparison
Exploitation Conditions

Exploitation requires local access to the system or process where the HdrHistogram library is in use - remote exploitation is not possible per AV:L. The attacker must have low-level privileges (PR:L) sufficient to influence the values passed to DoubleHistogram.recordValue(), either by controlling application input, injecting into a shared data stream, or directly interacting with the JVM process. The vulnerability is specific to the DoubleHistogram subclass; applications using only the integer-based Histogram class are not affected. No special non-default configuration is required beyond the use of DoubleHistogram. Limiting factors: local access is mandatory, the impact is restricted to integrity of histogram data (not code execution), and exploitation produces observable data anomalies rather than silent privilege escalation.

Impact

The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N, score 4.8) consistently characterizes this as a low-severity, local-only integrity issue requiring low privileges. There is no confidentiality or availability impact. The vulnerability is NOT in the CISA KEV catalog, meaning no confirmed active exploitation in the wild. However, publicly available exploit code exists (E:P in the CVSS 4.0 supplemental metrics and confirmed by the GitHub issue reference), lowering the bar for abuse. The practical real-world risk is limited: an attacker must already have local access and the ability to call into the JVM process or influence input values fed to recordValue(). The primary concern is data integrity corruption in monitoring, latency-tracking, or SLO-reporting systems that rely on HdrHistogram, which could mask performance regressions or produce misleading operational dashboards. The tags list 'Information Disclosure', which conflicts with the CVSS showing VC:N - this likely reflects a tagging ambiguity from the source (VulDB) rather than a confirmed confidentiality impact; treat that tag with low confidence.

Exploit ScenarioDerived

A local user or a process running with low privileges on a shared JVM application host crafts a specific floating-point value that passes the flawed range comparison inside DoubleHistogram.recordValue(). When the application (e.g., a Kafka broker or latency monitoring service) records this value, the histogram's internal state is corrupted, causing reported latency percentiles or throughput metrics to be skewed or incorrect. A publicly available proof-of-concept hosted in the GitHub issue tracker demonstrates the triggering input.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 05, 2026

Incorrect comparison in HdrHistogram's DoubleHistogram.recordValue() range check allows a local, low-privileged attacker to manipulate histogram integrity by recording out-of-range values that bypass the bounds check. Versions up to and including 2.2.2 are affected. No public exploit identified at time of analysis - publicly available exploit code exists, and the project maintainer has not responded to the responsible disclosure, leaving the vulnerability unpatched.

RemediationAI

No vendor-released patch identified at time of analysis - the project maintainer had not responded to the GitHub issue report as of disclosure. As a compensating control, callers of DoubleHistogram.recordValue() should implement an explicit application-layer bounds check before invoking the method, validating that the value falls within the expected histogram range (e.g., between the configured lowestDiscernibleValue and the histogram's configured highestTrackableValue). This adds a small per-call overhead but prevents incorrect values from silently entering the histogram. Alternatively, consider migrating to HDR Histogram's integer-based Histogram class where applicable, as the DoubleHistogram wrapper introduces additional floating-point range logic. Monitor the upstream GitHub repository at https://github.com/HdrHistogram/HdrHistogram/ and the issue thread at https://github.com/HdrHistogram/HdrHistogram/issues/222 for a patched release. If a patch is eventually released, upgrade past version 2.2.2.

Affected VersionsENISA

HdrHistogram 2.2.1
HdrHistogram 2.2.2
HdrHistogram 2.2.0

Affected Packages

euvd hdrhistogram no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

HdrHistogram is a Java library designed for recording latency and performance distributions with high dynamic range and configurable precision. The affected component is the Range Check logic inside org.HdrHistogram.DoubleHistogram.recordValue() in src/main/java/org/HdrHistogram/DoubleHistogram.java. CWE-697 (Incorrect Comparison) indicates the bounds-checking predicate evaluates incorrectly - likely using the wrong operator, comparing the wrong operands, or suffering from a floating-point comparison edge case - allowing values that should be rejected to be accepted and recorded. The CPE (cpe:2.3:a:n/a:hdrhistogram:*:*:*:*:*:*:*:*) confirms the scope is the standalone HdrHistogram library through version 2.2.2. Because DoubleHistogram internally uses a 64-bit floating-point representation, floating-point precision boundaries may interact with integer-range assumptions in the check.

Know when Hdrhistogram gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulDB) PRIMARY 1.9 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P
vuln.today AI 3.3 LOW

Local-only access (AV:L), low privileges to influence input (PR:L), integrity-only impact (I:L) with no confidentiality or availability effect.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Severity Changed
Jul 05, 2026 - 01:22 NVD
MEDIUM LOW
CVSS changed
Jul 05, 2026 - 01:22 NVD
4.8 (MEDIUM) 1.9 (LOW)

DescriptionCVE.org

A vulnerability was found in HdrHistogram up to 2.2.2. This issue affects the function org.HdrHistogram.DoubleHistogram.recordValue of the file src/main/java/org/HdrHistogram/DoubleHistogram.java of the component Range Check. Performing a manipulation results in incorrect comparison. The attack is only possible with local access. The exploit has been made public and could be used. The project was informed of the problem early through an issue report but has not responded yet.

Threat Intelligence Overview

EPSS Score
0.2%
Top 85% exploitable
Prevalence
Medium
widely embedded in Java performance monitoring stacks (Kafka, Cassandra, etc.)
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Related Vulnerabilities in HdrHistogram Histogram Recording Flaws

View all 3

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy