CVE-2026-90982

Source
https://cve.org/CVERecord?id=CVE-2026-90982
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-90982.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-90982
Aliases
  • GHSA-r799-r9gc-m956
Published
2026-09-17T06:55:42Z
Modified
2026-09-20T11:30:15Z
Severity
  • 5.3 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N CVSS Calculator
Summary
@fastify/static vulnerable to route guard bypass via path case-folding
Details

@fastify/static is a Fastify plugin that serves static files from a configured root directory. In versions before 10.1.4, on a case-insensitive filesystem such as Windows or the default macOS volume, a route guard or allowedPath restriction can be bypassed by altering the letter case of a path segment. The route matcher is case-sensitive while the filesystem is not, so a request that changes the case of a protected segment does not match the guarded route and falls through to the static handler, yet the filesystem resolves it to the same protected file. As a result, an unauthenticated request can read a file that a route guard or allowedPath was configured to protect. The issue does not affect case-sensitive filesystems and is not a directory traversal, since nothing is served from outside the configured root. The issue is fixed in @fastify/static 10.1.4, which validates the requested path against its actual on-disk spelling and rejects case-aliased paths before authorization. As a workaround, serve static files from a case-sensitive filesystem, or ensure route guards and allowedPath rules account for every letter-case variant of the protected paths.

Database specific
{
    "cna_assigner":  "openjs",
    "cwe_ids":  [
        "CWE-178",
        "CWE-284"
    ],
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90982.json"
}
References

Affected packages

Git / github.com/fastify/fastify-static

Affected ranges

Type
GIT
Repo
https://github.com/fastify/fastify-static
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
Show details
{
    "extracted_events":  [
        {
            "introduced":  "0"
        },
        {
            "fixed":  "10.1.4"
        }
    ],
    "source":  [
        "AFFECTED_FIELD",
        "DESCRIPTION"
    ]
}

Affected versions

3.*
3.2.0
v0.*
v0.1.0
v0.10.0
v0.11.0
v0.12.0
v0.13.0
v0.14.0
v0.2.0
v0.2.1
v0.3.0
v0.4.0
v0.4.1
v0.5.0
v0.6.0
v0.8.0
v0.9.0
v1.*
v1.0.0
v10.*
v10.0.0
v10.1.0
v10.1.1
v10.1.2
v10.1.3
v2.*
v2.0.0
v2.1.0
v2.2.0
v2.3.0
v2.3.1
v2.3.2
v2.3.3
v2.3.4
v2.4.0
v2.5.0
v2.5.1
v2.6.0
v2.7.0
v3.*
v3.0.0
v3.0.1
v3.1.0
v3.2.1
v3.3.0
v3.3.1
v3.4.0
v3.5.0
v4.*
v4.0.0
v4.0.1
v4.1.0
v4.2.0
v4.2.1
v4.2.2
v4.2.3
v4.2.4
v4.3.0
v4.4.0
v4.4.1
v4.4.2
v4.5.0
v4.6.0
v4.6.1
v5.*
v5.0.0
v5.0.1
v5.0.2
v6.*
v6.0.0
v6.1.0
v6.10.0
v6.10.1
v6.10.2
v6.11.0
v6.11.1
v6.11.2
v6.12.0
v6.2.0
v6.3.0
v6.4.0
v6.4.1
v6.5.0
v6.5.1
v6.6.0
v6.6.1
v6.7.0
v6.8.0
v6.9.0
v7.*
v7.0.0
v7.0.1
v7.0.2
v7.0.3
v7.0.4
v8.*
v8.0.0
v8.0.1
v8.0.2
v8.0.3
v8.0.4
v8.1.0
v8.1.1
v8.2.0
v8.3.0
v9.*
v9.0.0
v9.1.0
v9.1.1
v9.1.2
v9.1.3
v9.2.0
v9.3.0

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-90982.json"