Vulnerability · Published Jul 17, 2026 · Assigned by GitHub_M

CVE-2026-48049@hapi/inert: Static-file confinement bypass via sibling-prefix path

Medium 5.3

In plain English

A medium-severity path traversal in inert from hapijs. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.6% (higher than 48% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)5.3Medium
Exploit odds (30 days)0.6%top 51.6% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

@hapi/inert provides static file and directory handlers for hapi.js. From 4.0.0 to 7.1.0, @hapi/inert serves static files from a directory configured with path in the directory or file handlers or relativeTo for h.file(), with confinement enforced by the confine option, but the confinement check compared the resolved absolute path against the confine directory using a raw string-prefix test, so a sibling directory such as /app/static-secret next to /app/static was incorrectly accepted and could allow an unauthenticated remote attacker to read files via /..%2fstatic-secret/secret.txt. This issue is fixed in version 7.1.1.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
npm@hapi/inert7.1.1GHSA-rcvq-m9j9-6f4g

Affected products (as reported)

VendorProductVersions
hapijs inert >= 4.0.0, < 7.1.1

Weakness: CWE-22 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

References