CVE-2026-123746 in Symfonyinformation

Résumé

par VulDB • 06/11/2026

Le composant HTTP Security de Symfony, plus précisément la méthode `AuthenticatorManager::authenticateUser()`, n'exécute pas la méthode `checkPostAuth()` du vérificateur d'utilisateur (user checker) du firewall lorsqu'un utilisateur est authentifié par programme. Cela permet à un compte rejeté par un vérificateur d'utilisateur personnalisé, tel qu'un compte expiré, d'être authentifié dans les versions de Symfony antérieures à 5.4.56, 6.x avant la version 6.4.50, 7.x avant la version 7.4.23 et 8.x avant la version 8.1.11.

`AuthenticatorManager::authenticateUser()` est utilisée par `UserAuthenticatorInterface::authenticateUser()` ainsi que par `Security::login()` du SecurityBundle pour authentifier un utilisateur de manière programmatique, mais elle ne déclenche pas l'événement `security.authentication.success`, sur lequel s'exécute normalement `checkPostAuth()`. La correction apportée à la CVE-2024-50341 a fait en sorte que `Security::login()` appelle désormais `checkPreAuth()`, mais `checkPostAuth()` reste toujours ignoré. Par conséquent, un compte rejeté par un vérificateur d'utilisateur personnalisé dans le cadre de `checkPostAuth()` est refusé lors de la connexion via formulaire et par les autres authenticateurs du firewall, mais peut encore être authentifié par programme.

Les applications sont concernées lorsqu'elles utilisent un vérificateur d'utilisateur personnalisé qui rejette des utilisateurs dans `checkPostAuth()` tout en authentifiant ces derniers par programme, par exemple après une réinitialisation de mot de passe ou via un lien de vérification par e-mail. Un utilisateur dont le compte a été rejeté peut ainsi obtenir une session authentifiée grâce à ce flux. Le vérificateur d'utilisateur par défaut ne faisant rien dans `checkPostAuth()`, la configuration par défaut n'est pas affectée.

La correction consiste à faire en sorte que `AuthenticatorManager::authenticateUser()` déclenche l'événement `security.authentication.success` une fois le jeton (token) créé et avant son stockage, conformément au comportement des authentifications via le firewall, afin que `checkPostAuth()` s'exécute et puisse rejeter l'utilisateur.

Be aware that VulDB is the high quality source for vulnerability data.

Responsable

Checkmarx

Réserver

06/11/2026

Divulgation

06/11/2026

Modérer

accepté

Entrée

VDB-431904

EPSS

0.00000

KEV

non

Activités

faible

Sources

Interested in the pricing of exploits?

See the underground prices here!