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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| h3js | h3 | < 1.15.6, 2.0.0-beta.0 – < 2.0.1-rc.15 | 1.15.6 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | h3 | >= 2.0.0, < 2.0.1-rc.15 | 2.0.1-rc.15 | GHSA-wr4h-v87w-p3r7 |
| npm | h3 | < 1.15.6 | 1.15.6 | GHSA-wr4h-v87w-p3r7 |
References
- GitHub Security Advisory (GHSA-wr4h-v87w-p3r7) vendor-advisory
- VulnCheck Advisory: h3 before 1.15.6 Path Traversal via Percent-Encoded Dot Segments third-party-advisory