CVE-2026-86251
Received Received - Intake

Path Traversal in h3 Versions Before 1.15.9

Vulnerability report for CVE-2026-86251, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-06

Last updated on: 2026-09-06

Assigner: VulnCheck

Description

h3 versions before 1.15.9 contain a path traversal vulnerability in the serveStatic utility. A double-decoding flaw allows a request path containing double-encoded dot sequences (e.g. %252e%252e) to be decoded to %2e%2e, which survives resolveDotSegments() because that function only checks for literal '.' characters. When the resulting asset ID is resolved by URL-based backends (CDN, S3, object storage), %2e%2e is interpreted as '..' per RFC 3986, enabling path traversal to read arbitrary files from the backend.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-06
Last Modified
2026-09-06
Generated
2026-09-06
AI Q&A
2026-09-06
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Currently, no data is known.

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-22 The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a path traversal vulnerability in the h3 library's serveStatic utility before version 1.15.9. It occurs due to a double-decoding flaw where double-encoded dot sequences like %252e%252e are decoded to %2e%2e. This bypasses the resolveDotSegments function, which only checks for literal dot characters. When resolved by URL-based backends like CDN or S3, %2e%2e is interpreted as '..', allowing attackers to read arbitrary files outside the intended directory.

Detection Guidance

To detect this vulnerability, check if your system is running h3 versions before 1.15.9. Use commands like 'npm list h3' or 'yarn list h3' to verify the installed version. Inspect network traffic for requests containing double-encoded dot sequences such as %252e%252e or %252e%252e%252f.

Impact Analysis

An attacker could exploit this to read sensitive files on the server, including configuration files, source code, or other restricted data. This could lead to information disclosure, unauthorized access to user data, or further attacks if the exposed files contain credentials or API keys. The impact depends on the backend storage system and the permissions of the application.

Compliance Impact

This vulnerability could lead to unauthorized access to personal or sensitive data, violating GDPR's data protection principles and potentially triggering breach notification requirements. For HIPAA, it may result in unauthorized access to protected health information, leading to compliance violations and penalties. Organizations must address this to maintain regulatory compliance.

Mitigation Strategies

Immediately update h3 to version 1.15.9 or later. If updating is not possible, disable the serveStatic utility or restrict access to sensitive directories. Monitor for suspicious file access patterns in logs.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-86251. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart