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 }.
References
Impact
@fastify/middiev9.3.1 and earlier does not read the deprecated (but still functional) top-levelignoreDuplicateSlashesoption, only reading fromrouterOptions. 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 usingrouterOptions: { 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: truetorouterOptions: { ignoreDuplicateSlashes: true }.References