CVE-2026-86253
Received Received - Intake

Path Traversal Vulnerability in h3 npm Package

Vulnerability report for CVE-2026-86253, 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 (npm package) versions <= 2.0.1-rc.14 contain a path traversal vulnerability in serveStatic(). On Node.js deployments, event.url.pathname is not normalized, so percent-encoded dot segments (%2e%2e) are passed to decodeURI() and decoded to ../ sequences without sanitization. An unauthenticated remote attacker can send crafted requests to endpoints served by serveStatic() to read arbitrary files outside the intended static directory. Fixed in 1.15.6 and 2.0.1-rc.15.

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

Showing 3 associated CPEs
Vendor Product Version / Range
h3js h3 to 1.15.6|end_excluding=2.0.1-rc.15 (exc)
h3js h3 1.15.6
h3js h3 2.0.1-rc.15

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 npm package (versions <= 2.0.1-rc.14) affecting the serveStatic() function. It allows unauthenticated attackers to read arbitrary files outside the intended static directory on Node.js deployments by sending crafted requests with percent-encoded dot segments (%2e%2e). These segments are decoded to ../ sequences without proper sanitization, bypassing directory restrictions.

Detection Guidance

To detect this vulnerability, check if your h3 library version is <= 2.0.1-rc.14. Run: npm list h3. If vulnerable, test for path traversal by sending crafted requests like curl http://yourserver.com/%2e%2e/%2e%2e/etc/passwd. Monitor for unauthorized file access in logs.

Use tools like Burp Suite or OWASP ZAP to intercept and modify requests with %2e%2e sequences to test endpoints using serveStatic().

Impact Analysis

An attacker could exploit this to read sensitive files like /etc/passwd, .env files, private keys, or application source code. This could lead to data breaches, unauthorized access to credentials, or exposure of confidential information. The impact is higher on Node.js deployments using serveStatic().

Compliance Impact

This vulnerability could lead to unauthorized access to sensitive data, violating compliance requirements under GDPR (data protection) and HIPAA (health information privacy). Organizations may face legal penalties, reputational damage, and loss of trust due to data breaches resulting from this flaw.

Mitigation Strategies

Upgrade h3 to versions >= 1.15.6 or >= 2.0.1-rc.15 immediately. If unable to upgrade, disable serveStatic() or implement strict path sanitization in your application.

Review server configurations to ensure sensitive directories are not exposed. Restrict filesystem access to the static directory and monitor for unusual file access attempts.

Chat Assistant

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

EPSS Chart