{"id":"GHSA-83w8-p2f5-377r","summary":"@fastify/static vulnerable to route guard bypass via path traversal","details":"### Impact\n\n`@fastify/static` is vulnerable to a bypass of route-based middleware and guards via non-leading `..` and `%2E%2E` path segments. `find-my-way` does not normalize `..` when matching routes, so a request such as `/foo/../deep/secret.txt` matches the static plugin's catch-all instead of the guarded `/deep/*`. The `getPathnameForSend` helper introduced by the fix for [GHSA-x428-ghpx-8j92](https://github.com/fastify/fastify-static/security/advisories/GHSA-x428-ghpx-8j92) only guards against the `%2F` variant; `..` and `%2E%2E` survive the `decodeURI` + `encodeURI` round-trip and are then collapsed away by `@fastify/send`'s `path.normalize` before its own traversal guard runs.\n\nApplications that rely on route-based middleware or guards to protect files served by `@fastify/static` can be bypassed with non-leading dot-dot path segments.\n\n### Patches\n\nUpgrade to `@fastify/static` 10.1.1.\n\n### Workarounds\n\nDo not use route-based middlewares or guards to protect files served by `@fastify/static`.","aliases":["CVE-2026-15074"],"modified":"2026-07-24T17:11:53.333358Z","published":"2026-07-24T16:43:21Z","database_specific":{"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2026-07-24T16:43:21Z","nvd_published_at":"2026-07-23T04:16:31Z","cwe_ids":["CWE-22"]},"references":[{"type":"WEB","url":"https://github.com/fastify/fastify-static/security/advisories/GHSA-83w8-p2f5-377r"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-15074"},{"type":"WEB","url":"https://github.com/fastify/fastify-static/commit/db4276f846ba56b21f93768cd6636ee5e2fc58b1"},{"type":"WEB","url":"https://cna.openjsf.org/security-advisories.html"},{"type":"PACKAGE","url":"https://github.com/fastify/fastify-static"},{"type":"WEB","url":"https://github.com/fastify/fastify-static/releases/tag/v10.1.1"}],"affected":[{"package":{"name":"@fastify/static","ecosystem":"npm","purl":"pkg:npm/%40fastify/static"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"10.1.1"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/07/GHSA-83w8-p2f5-377r/GHSA-83w8-p2f5-377r.json","last_known_affected_version_range":"\u003c= 10.1.0"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"}]}