{"id":"CVE-2026-33804","aliases":["CLSA-2026-1784856385","EUVD-2026-23235","GHSA-v9ww-2j6r-98q6"],"status":"published","title":"@fastify/middie vulnerable to middleware bypass via deprecated ignoreDuplicateSlashes option","description":"@fastify/middie versions 9.3.1 and earlier are vulnerable to middleware bypass when the deprecated Fastify ignoreDuplicateSlashes option is enabled. The middleware path matching logic does not account for duplicate slash normalization performed by Fastify's router, allowing requests with duplicate slashes to bypass middleware authentication and authorization checks. This only affects applications using the deprecated ignoreDuplicateSlashes option. Upgrade to @fastify/middie 9.3.2 to fix this issue. There are no workarounds other than disabling the ignoreDuplicateSlashes option.","severity":{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00278,"percentile":0.20458,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-436"],"published":"2026-04-16T13:56:56Z","modified":"2026-10-30T19:46:03Z","fixes":[{"ecosystem":"npm","package":"@fastify/middie","fixed_in":["9.3.2"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"@fastify/middie","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"9.3.1"},{"fixed":"9.3.2"}]}]},{"source":"osv","ecosystem":"TuxCare:npm","package":"@fastify/middie","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"8.3.3-tuxcare.0"},{"fixed":"8.3.3-tuxcare.2"}]}],"versions":["8.3.3","8.3.3-tuxcare.1"],"bundled":3},{"source":"osv","ecosystem":"npm","package":"@fastify/middie","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"9.3.2"}]}]}],"products":[{"vendor":"@fastify/middie","product":"@fastify/middie"},{"vendor":"fastify","product":"fastify\\/middie"}],"references":[{"url":"https://github.com/fastify/middie/security/advisories/GHSA-v9ww-2j6r-98q6","tags":["Mitigation","Vendor Advisory","advisory","web"]},{"url":"https://cna.openjsf.org/security-advisories.html","tags":["Vendor Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-33804","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-v9ww-2j6r-98q6"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/33xxx/CVE-2026-33804.json","tags":["advisory"]},{"url":"https://github.com/fastify/middie","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-33804","title":"@fastify/middie vulnerable to middleware bypass via deprecated ignoreDuplicateSlashes option","description":"@fastify/middie versions 9.3.1 and earlier are vulnerable to middleware bypass when the deprecated Fastify ignoreDuplicateSlashes option is enabled. The middleware path matching logic does not account for duplicate slash normalization performed by Fastify's router, allowing requests with duplicate slashes to bypass middleware authentication and authorization checks. This only affects applications using the deprecated ignoreDuplicateSlashes option. Upgrade to @fastify/middie 9.3.2 to fix this issue. There are no workarounds other than disabling the ignoreDuplicateSlashes option.","status":"published","published":"2026-04-16T13:56:56.176Z","modified":"2026-04-16T14:41:48.659Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-436"],"updated_at":"2026-11-02T14:20:08.009733Z"}],"euvd":[{"id":"EUVD-2026-23235","description":"@fastify/middie versions 9.3.1 and earlier are vulnerable to middleware bypass when the deprecated Fastify ignoreDuplicateSlashes option is enabled. The middleware path matching logic does not account for duplicate slash normalization performed by Fastify's router, allowing requests with duplicate slashes to bypass middleware authentication and authorization checks. This only affects applications using the deprecated ignoreDuplicateSlashes option. Upgrade to @fastify/middie 9.3.2 to fix this issue. There are no workarounds other than disabling the ignoreDuplicateSlashes option.","status":"published","published":"2026-04-16T13:56:56Z","modified":"2026-04-16T14:41:48Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T19:24:23.841547Z"}],"ghsa":[{"id":"GHSA-v9ww-2j6r-98q6","title":"@fastify/middie vulnerable to middleware bypass via deprecated ignoreDuplicateSlashes option","description":"### Impact\n\n`@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`).\n\nThis only affects applications using the deprecated top-level configuration style (`fastify({ ignoreDuplicateSlashes: true })`). Applications using `routerOptions: { ignoreDuplicateSlashes: true }` are not affected.\n\nThis is distinct from [GHSA-8p85-9qpw-fwgw](https://github.com/fastify/middie/security/advisories/GHSA-8p85-9qpw-fwgw) (CVE-2026-2880), which was patched in v9.2.0.\n\n### Patches\n\nUpgrade to `@fastify/middie` \u003e= 9.3.2.\n\n### Workarounds\n\nMigrate from deprecated top-level `ignoreDuplicateSlashes: true` to `routerOptions: { ignoreDuplicateSlashes: true }`.","status":"published","published":"2026-04-16T22:28:54Z","modified":"2026-04-16T22:28:56Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-436"],"updated_at":"2026-11-02T14:39:55.105822Z"}],"nvd":[{"id":"CVE-2026-33804","description":"@fastify/middie versions 9.3.1 and earlier are vulnerable to middleware bypass when the deprecated Fastify ignoreDuplicateSlashes option is enabled. The middleware path matching logic does not account for duplicate slash normalization performed by Fastify's router, allowing requests with duplicate slashes to bypass middleware authentication and authorization checks. This only affects applications using the deprecated ignoreDuplicateSlashes option. Upgrade to @fastify/middie 9.3.2 to fix this issue. There are no workarounds other than disabling the ignoreDuplicateSlashes option.","status":"published","published":"2026-04-16T15:17:34.633Z","modified":"2026-06-17T10:38:07.3Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"secondary"},{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical","assessor":"primary"}],"cwes":["CWE-436"],"updated_at":"2026-11-02T14:12:14.748836Z"}],"osv":[{"id":"CVE-2026-33804","title":"@fastify/middie vulnerable to middleware bypass via deprecated ignoreDuplicateSlashes option","description":"@fastify/middie versions 9.3.1 and earlier are vulnerable to middleware bypass when the deprecated Fastify ignoreDuplicateSlashes option is enabled. The middleware path matching logic does not account for duplicate slash normalization performed by Fastify's router, allowing requests with duplicate slashes to bypass middleware authentication and authorization checks. This only affects applications using the deprecated ignoreDuplicateSlashes option. Upgrade to @fastify/middie 9.3.2 to fix this issue. There are no workarounds other than disabling the ignoreDuplicateSlashes option.","status":"published","published":"2026-04-16T13:56:56.176Z","modified":"2026-10-28T02:30:22.810876647Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-436"],"updated_at":"2026-11-02T15:45:01.896044Z"},{"id":"GHSA-v9ww-2j6r-98q6","title":"@fastify/middie vulnerable to middleware bypass via deprecated ignoreDuplicateSlashes option","description":"### Impact\n\n`@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`).\n\nThis only affects applications using the deprecated top-level configuration style (`fastify({ ignoreDuplicateSlashes: true })`). Applications using `routerOptions: { ignoreDuplicateSlashes: true }` are not affected.\n\nThis is distinct from [GHSA-8p85-9qpw-fwgw](https://github.com/fastify/middie/security/advisories/GHSA-8p85-9qpw-fwgw) (CVE-2026-2880), which was patched in v9.2.0.\n\n### Patches\n\nUpgrade to `@fastify/middie` \u003e= 9.3.2.\n\n### Workarounds\n\nMigrate from deprecated top-level `ignoreDuplicateSlashes: true` to `routerOptions: { ignoreDuplicateSlashes: true }`.","status":"published","published":"2026-04-16T22:28:54Z","modified":"2026-04-16T22:56:28.833804Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-436"],"updated_at":"2026-11-02T15:46:56.981655Z"},{"id":"CLSA-2026-1784856385","title":"TuxCare security update for @fastify/middie (3 CVEs)","description":"TuxCare rebuilt @fastify/middie to address 3 CVEs. Fixed in 8.3.3-tuxcare.2.","status":"published","published":"2026-08-04T14:52:48Z","modified":"2026-10-30T19:46:03.545699704Z","updated_at":"2026-11-02T15:43:46.482572Z"}]}}
