GHSA-v9ww-2j6r-98q6

Suggest an improvement
Source
https://github.com/advisories/GHSA-v9ww-2j6r-98q6
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-v9ww-2j6r-98q6/GHSA-v9ww-2j6r-98q6.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-v9ww-2j6r-98q6
Aliases
Published
2026-04-16T22:28:54Z
Modified
2026-04-16T22:56:28Z
Severity
  • 7.4 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N CVSS Calculator
Summary
@fastify/middie vulnerable to middleware bypass via deprecated ignoreDuplicateSlashes option
Details

Impact

@fastify/middie v9.3.1 and earlier does not read the deprecated (but still functional) top-level ignoreDuplicateSlashes option, only reading from routerOptions. This creates a normalization gap: Fastify's router normalizes duplicate slashes but middie does not, allowing middleware bypass via URLs with duplicate leading slashes (e.g., //admin/secret).

This only affects applications using the deprecated top-level configuration style (fastify({ ignoreDuplicateSlashes: true })). Applications using routerOptions: { ignoreDuplicateSlashes: true } are not affected.

This is distinct from GHSA-8p85-9qpw-fwgw (CVE-2026-2880), which was patched in v9.2.0.

Patches

Upgrade to @fastify/middie >= 9.3.2.

Workarounds

Migrate from deprecated top-level ignoreDuplicateSlashes: true to routerOptions: { ignoreDuplicateSlashes: true }.

Database specific
{
    "cwe_ids":  [
        "CWE-436"
    ],
    "github_reviewed":  true,
    "github_reviewed_at":  "2026-04-16T22:28:54Z",
    "nvd_published_at":  "2026-04-16T15:17:34Z",
    "severity":  "HIGH"
}
References

Affected packages

npm / @fastify/middie

Package

Name
@fastify/middie
View open source insights on deps.dev
Purl
pkg:npm/%40fastify/middie

Affected ranges

Type
SEMVER
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
9.3.2

Database specific

last_known_affected_version_range
"<= 9.3.1"
source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-v9ww-2j6r-98q6/GHSA-v9ww-2j6r-98q6.json"