pac4j - CVE-2026-82461
Date de publication :
Il s'agit d'une vulnérabilité dans le générateur d'autorisation Keycloak du module pac4j-oidc, au niveau de l'extraction des rôles de royaume et de client.
pac4j est un framework de sécurité pour applications Java. Il fournit l'authentification des utilisateurs, la récupération de leur profil et la gestion des autorisations au sein d'applications et de services web, via de nombreux protocoles dont OpenID Connect, SAML, CAS et OAuth. Il s'intègre à de nombreux frameworks tels que Spring Security, Play Framework, Vert.x ou Apache Shiro.
Lors de cette extraction, le module ne vérifie ni la signature du jeton d'accès, ni son émetteur, ni son audience, ni sa date d'expiration. Un attaquant peut ainsi forger un jeton d'accès arbitraire portant des rôles administratifs, à condition de le présenter avec un jeton d'identité (ID token) valide. Ce jeton d'identité valide peut provenir d'un compte légitime disposant de faibles privilèges.
Elle permet à un attaquant de contourner les contrôles d'autorisation des applications qui s'appuient sur la validation des rôles pac4j.
Informations
La faille est activement exploitée : Non
Un correctif existe : Oui
Une mesure de contournement existe : Non
Élévation de privilèges
Exploitation
CWE-347 : Improper Verification of Cryptographic Signature
Détails sur l'exploitation
• Vecteur d'attaque : Réseau
• Complexité de l'attaque : Faible
• Privilèges nécessaires pour réaliser l'attaque : Authentification utilisateur simple
• 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 : Oui
Preuve de concept
Actuellement, aucune preuve de concept n'est disponible en sources ouvertes.
Systèmes ou composants affectés
• pac4j, dont le module pac4j-oidc, versions antérieures à 6.5.6, toutes branches confondues (4.x, 5.x et 6.x jusqu'à 6.5.5).
Le correctif n'ayant été publié que sur la branche 6.x, les branches 4.x et 5.x, plus anciennes, restent vulnérables sans correctif dédié connu.
Solutions ou recommandations
• pac4j branches 4.x et 5.x : aucun correctif dédié identifié à ce jour, montée vers la branche 6.x recommandée.