Commit 89ea2b8
fix(deps): update dependency @fastify/static to v10 [security] (#8361)
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@fastify/static](https://redirect.github.com/fastify/fastify-static)
| [`^9.1.1` →
`^10.0.0`](https://renovatebot.com/diffs/npm/@fastify%2fstatic/9.1.3/10.1.2)
|

|

|
---
### @​fastify/static vulnerable to route guard bypass via path
traversal
[CVE-2026-15074](https://nvd.nist.gov/vuln/detail/CVE-2026-15074) /
[GHSA-83w8-p2f5-377r](https://redirect.github.com/advisories/GHSA-83w8-p2f5-377r)
<details>
<summary>More information</summary>
#### Details
##### Impact
`@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://redirect.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.
Applications 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.
##### Patches
Upgrade to `@fastify/static` 10.1.1.
##### Workarounds
Do not use route-based middlewares or guards to protect files served by
`@fastify/static`.
#### Severity
- CVSS Score: 7.5 / 10 (High)
- Vector String: `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N`
#### References
-
[https://github.com/fastify/fastify-static/security/advisories/GHSA-83w8-p2f5-377r](https://redirect.github.com/fastify/fastify-static/security/advisories/GHSA-83w8-p2f5-377r)
-
[https://nvd.nist.gov/vuln/detail/CVE-2026-15074](https://nvd.nist.gov/vuln/detail/CVE-2026-15074)
-
[https://github.com/fastify/fastify-static/commit/db4276f846ba56b21f93768cd6636ee5e2fc58b1](https://redirect.github.com/fastify/fastify-static/commit/db4276f846ba56b21f93768cd6636ee5e2fc58b1)
-
[https://cna.openjsf.org/security-advisories.html](https://cna.openjsf.org/security-advisories.html)
-
[https://github.com/fastify/fastify-static/releases/tag/v10.1.1](https://redirect.github.com/fastify/fastify-static/releases/tag/v10.1.1)
-
[https://github.com/advisories/GHSA-83w8-p2f5-377r](https://redirect.github.com/advisories/GHSA-83w8-p2f5-377r)
This data is provided by the [GitHub Advisory
Database](https://redirect.github.com/advisories/GHSA-83w8-p2f5-377r)
([CC-BY
4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>
---
### @​fastify/static vulnerable to Authorization Bypass via
Non-Canonical URL Paths
[CVE-2026-7120](https://nvd.nist.gov/vuln/detail/CVE-2026-7120) /
[GHSA-8pvw-jcv7-9cmj](https://redirect.github.com/advisories/GHSA-8pvw-jcv7-9cmj)
<details>
<summary>More information</summary>
#### Details
##### Impact
`@fastify/static` evaluates the `allowedPath` callback before
normalizing dot segments and duplicate slashes in the pathname used for
file resolution. Non-canonical pathnames such as `//file`, `/./file`, or
`/public/../private/file` bypass `allowedPath` filtering while resolving
to the intended file on disk.
Applications that use `allowedPath` as a security boundary to restrict
access to specific static files or path subtrees may unintentionally
expose files that were intended to be denied.
##### Patches
Upgrade to `@fastify/static` >= 10.1.2.
##### Workarounds
None. Upgrade to the patched version.
#### Severity
- CVSS Score: 5.3 / 10 (Medium)
- Vector String: `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N`
#### References
-
[https://github.com/fastify/fastify-static/security/advisories/GHSA-8pvw-jcv7-9cmj](https://redirect.github.com/fastify/fastify-static/security/advisories/GHSA-8pvw-jcv7-9cmj)
-
[https://nvd.nist.gov/vuln/detail/CVE-2026-7120](https://nvd.nist.gov/vuln/detail/CVE-2026-7120)
-
[https://github.com/fastify/fastify-static/commit/878c72e920fabacf7e37739bf78057044717bf63](https://redirect.github.com/fastify/fastify-static/commit/878c72e920fabacf7e37739bf78057044717bf63)
-
[https://cna.openjsf.org/security-advisories.html](https://cna.openjsf.org/security-advisories.html)
-
[https://github.com/fastify/fastify-static/releases/tag/v10.1.2](https://redirect.github.com/fastify/fastify-static/releases/tag/v10.1.2)
-
[https://github.com/advisories/GHSA-8pvw-jcv7-9cmj](https://redirect.github.com/advisories/GHSA-8pvw-jcv7-9cmj)
This data is provided by the [GitHub Advisory
Database](https://redirect.github.com/advisories/GHSA-8pvw-jcv7-9cmj)
([CC-BY
4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>
---
### Release Notes
<details>
<summary>fastify/fastify-static (@​fastify/static)</summary>
###
[`v10.1.2`](https://redirect.github.com/fastify/fastify-static/releases/tag/v10.1.2)
[Compare
Source](https://redirect.github.com/fastify/fastify-static/compare/v10.1.1...v10.1.2)
#### 1 parent c97eb90 commit 89ea2b8
2 files changed
Lines changed: 21 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
58 | | - | |
| 58 | + | |
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| |||
0 commit comments