CVE-2026-115910
Publiée le 2026-10-26 · Dernière modification le 2026-10-26
Les versions de Python Social Auth antérieures à 6.2.0 fournissent un mécanisme permettant aux sites web de gérer les connexions et les inscriptions via les réseaux sociaux. La faille se situe dans le backend OpenID Connect, qui stocke les nonces de connexion dans une table partagée sans les lier à une session de navigateur ou à un état OAuth spécifique. Cela permet au système de vérifier qu'un nonce est valide et n'a pas expiré, mais pas nécessairement qu'il appartient à la personne tentant actuellement de se connecter.
Un attaquant peut utiliser un code d'autorisation volé et non utilisé pour se connecter au compte d'une victime, compromettant ainsi la confidentialité et l'intégrité des données. Il s'agit d'une attaque complexe qui nécessite un accès réseau et une interaction spécifique de l'utilisateur pour obtenir le code de la victime. Elle est plus efficace lorsque le PKCE est désactivé dans la configuration, car l'attaquant doit synchroniser le code de la victime avec l'état de sa propre session active.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
Description officielle du NVD (en anglais)
Python Social Auth is a social authentication and registration mechanism. Prior to 6.2.0, OpenIdConnectAuth in social_core/backends/open_id_connect.py uses get_and_store_nonce to place the OpenID Connect nonce in a shared OpenIdConnectAssociation table, and get_nonce and validate_claims verify only that the nonce exists and has not expired rather than binding it to the browser session and OAuth state that initiated the login. An attacker who obtains a victim's unused authorization code can start a separate login to obtain valid state for the attacker's browser, submit the victim's code with that state, and pass nonce validation because the victim nonce is globally available. With DEFAULT_USE_PKCE disabled in the default OpenIdConnectAuth configuration, the attacker can be logged in as the victim. This issue is fixed in version 6.2.0.