OpenJS - CVE-2026-14198
Date de publication :
Il s'agit d'une vulnérabilité de conflit d'interprétation entre @fastify/middie et le routeur Fastify.
@fastify/middie est un plugin officiel de l'écosystème Fastify qui intègre des middlewares compatibles Express ou Connect au sein d'applications construites avec le framework Node.js Fastify.
Le module décode le slash encodé %2F d'un paramètre de chemin avant de le comparer aux règles de middleware. Le routeur, lui, conserve cet encodage lors de l'exécution du gestionnaire final. Cette divergence de canonicalisation permet à une URL forgée d'échapper au middleware tout en atteignant le gestionnaire protégé. Aucune authentification n'est requise.
Elle permet de contourner des middlewares d'authentification, d'autorisation, de limitation de débit ou d'audit appliqués sur des chemins paramétrés.
Informations
La faille est activement exploitée : Non
Un correctif existe : Oui
Une mesure de contournement existe : Oui
Contournement de la politique de sécurité
Exploitation
CWE-436 : Interpretation Conflict
Détails sur l'exploitation
• Vecteur d'attaque : Réseau
• Complexité de l'attaque : Faible
• Privilèges nécessaires pour réaliser l'attaque : Aucun
• Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
• L'exploitation de la faille permet d'obtenir des droits privilégiés : Non
Preuve de concept
Une preuve de concept est disponible en sources ouvertes.
Systèmes ou composants affectés
@fastify/middie versions 9.1.0 jusqu'à 9.3.2
Contournement provisoire
• Appliquer les contrôles d'authentification ou d'autorisation directement dans le gestionnaire de route, ou via un hook Fastify exécuté après résolution de la route (par exemple preHandler).