FICHE CVE

CVE-2026-100351

Publiée le 2026-10-15 · Dernière modification le 2026-10-15

🇫🇷 EN BREF

Les versions 0.144.0 à 0.147.0 de `kin-openapi` sont utilisées pour gérer et valider les spécifications OpenAPI dans les applications Go. Une faille existe dans la manière dont le `ValidationHandler` interagit avec le routeur `gorilla/mux` lorsque l'option `UseEncodedPath` est activée. Plus précisément, le validateur vérifie le chemin de l'URL décodée, mais le routeur achemine la requête en se basant sur le chemin brut et encodé, créant ainsi un décalage sur l'opération réellement exécutée.

Un attaquant distant non authentifié peut exploiter cela pour contourner l'authentification et accéder à des points de terminaison d'API protégés en envoyant une requête spécialement conçue contenant des séparateurs de chemin encodés. Cela permet la lecture ou la modification non autorisée de données, compromettant ainsi la confidentialité et l'intégrité. Toutefois, l'attaque est difficile à réaliser car elle nécessite une configuration de routage spécifique et sera bloquée par tout proxy qui canonise les URI avant qu'elles n'atteignent le serveur.

CVSS 3.17.4 ÉLEVÉE
Type de faiblesse
Publiée2026-10-15
Dernière modification2026-10-15

DÉTAIL DU VECTEUR CVSS

Vecteur d'attaqueRéseau
Complexité d'attaqueÉlevée
Privilèges requisAucun
Interaction utilisateurAucune
PortéeInchangée
Impact sur la confidentialitéÉlevé
Impact sur l'intégritéÉlevé
Impact sur la disponibilitéAucun

RÉFÉRENCES

Description officielle du NVD (en anglais)

kin-openapi is a Go project for handling OpenAPI files. From 0.144.0 until 0.147.0, openapi3filter.ValidationHandler validates an operation selected from decoded URL.Path while a downstream gorilla/mux router configured with UseEncodedPath can dispatch a different operation selected from URL.RawPath. When a public exact route and a protected parameterized route use the same method and overlap after decoding, an unauthenticated remote request containing an encoded path separator can be validated as public and then dispatched to the protected handler without invoking the configured AuthenticationFunc. The reachable path parameter is constrained to an encoded representation that decodes to the public literal route, and proxies that canonicalize the URI before forwarding prevent this specific mismatch. This issue is fixed in version 0.147.0.