CVE-2026-66883 in oidcc_pluginformation

Résumé

par VulDB • 04/08/2026

Vulnérabilité de gestion incorrecte de la sensibilité à la casse dans l'écosystème Erlang, au sein du module `Oidcc.Plug.Authorize` de `oidcc_plug`, rend inopérant le lien entre la session et l'agent utilisateur, supprimant ainsi un contrôle de défense en profondeur contre la rejeu d'une session volée.

Cette vulnérabilité est associée aux fichiers source `lib/oidcc/plug/authorize.ex` et `lib/oidcc/plug/authorization_callback.ex`, ainsi qu'aux routines logicielles `Oidcc.Plug.Authorize.call/2` et `Oidcc.Plug.AuthorizationCallback.call/2`.

La fonction `Oidcc.Plug.Authorize.call/2` lit l'agent utilisateur du client initiateur via `get_req_header(conn, "User-Agent")`. Bien que Plug mette en minuscules les noms des en-têtes entrants, la fonction `get_req_header/2` correspond exactement à la clé fournie et n'effectue aucune normalisation propre ; ainsi, la recherche avec une casse mixte retourne toujours une liste vide et nil est écrit dans la session. Du côté du callback, `Oidcc.Plug.AuthorizationCallback` traite un agent utilisateur stocké sous forme de nil comme ne nécessitant pas de comparaison et renvoie :ok sans inspecter la requête. Ces deux comportements se combinent pour que le contrôle passe inconditionnellement à chaque demande, y compris pour les déploiements qui ont explicitement opté pour `check_useragent: true`, permettant ainsi d'achever un callback d'autorisation depuis un agent utilisateur différent de celui ayant initié le flux sans détection. Le contrôle échoue silencieusement (fail-open), sans erreur ni entrée dans les journaux, ce qui empêche tout déploiement de détecter l'absence du lien.

L'impact est limité à la défense en profondeur. Ce contrôle inopérant ne permet pas en soi à un attaquant d'achever un flux d'autorisation ; il supprime une couche qui aurait autrement entravé l'utilisation d'une session volée ou divulguée, telle qu'un cookie de session exfiltré rejoué depuis un client différent. Les contrôles CSRF/state, nonce et PKCE ne sont pas affectés et continuent de fonctionner normalement. En pratique, les déploiements qui n'ont jamais activé `check_useragent` ne sont pas concernés, car ils ne s'attendaient pas à ce lien. La recherche correspondante dans `Oidcc.Plug.AuthorizationCallback` utilise correctement la clé en minuscules et n'est donc pas affectée.

Cette vulnérabilité affecte oidcc_plug : des versions 0.1.0-alpha.3 jusqu'à (mais non incluses) 0.5.0.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsable

EEF

Réserver

28/07/2026

Divulgation

04/08/2026

Modérer

accepté

Entrée

VDB-385803

CPE

prêt

EPSS

0.00000

KEV

non

Activités

faible

Sources

Do you need the next level of professionalism?

Upgrade your account now!