Skip to content
OpenAdvisories
Medium · 5.9 CVE-2026-86251 EUVD-2026-72107GHSA-676v-2c25-vqpjGHSA-72gr-qfp7-vwhw

h3 before 1.15.9 Path Traversal via Double Decoding

Published Sep 6, 2026 · Updated Sep 9, 2026 · Assigned by 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.

Affected products

VendorProductAffectedFixed
h3js h3 < 1.15.9 1.15.9

Affected packages

EcosystemPackageAffectedFixedRecord
npm h3 < 1.15.9 1.15.9 GHSA-72gr-qfp7-vwhw

References