Skip to content
OpenAdvisories
Medium · 5.3 CVE-2026-48049 EUVD-2026-45341GHSA-rcvq-m9j9-6f4g

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

Published Jul 17, 2026 · Updated Jul 21, 2026 · Assigned by GitHub_M

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 products

VendorProductAffectedFixed
hapijs inert >= 4.0.0, < 7.1.1 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling opensearch-dashboards-3 3.8.0-r0 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm @hapi/inert >= 4.0.0, < 7.1.1 7.1.1 GHSA-rcvq-m9j9-6f4g

References