CVE-2026-123746 in Symfonyinformación

Resumen

por VulDB • 2026-11-06

El componente HTTP Security de Symfony, específicamente el método `AuthenticatorManager::authenticateUser()`, no ejecuta el método `checkPostAuth()` del verificador de usuarios (user checker) del firewall cuando un usuario se autentica programáticamente, lo que permite la autenticación de una cuenta rechazada por un verificador personalizado, como una cuenta expirada. Esto afecta a las versiones anteriores a 5.4.56, 6.x anterior a 6.4.50, 7.x anterior a 7.4.23 y 8.x anterior a 8.1.11 de Symfony.

`AuthenticatorManager::authenticateUser()` es utilizado por `UserAuthenticatorInterface::authenticateUser()` y por `Security::login()` del SecurityBundle para autenticar programáticamente a un usuario, pero no despacha el evento `security.authentication.success`, sobre el cual se ejecuta `checkPostAuth()`. La corrección de CVE-2024-50341 hizo que `Security::login()` llamara a `checkPreAuth()`, pero `checkPostAuth()` seguía siendo omitido. Como resultado, una cuenta rechazada por un verificador personalizado en `checkPostAuth()` es denegada mediante el inicio de sesión con formulario y los demás autenticadores del firewall, pero aún puede ser autentificada programáticamente.

Las aplicaciones se ven afectadas cuando utilizan un verificador de usuarios personalizado que rechaza a los usuarios en `checkPostAuth()` y autentica a los usuarios programáticamente, por ejemplo, después de una restablecimiento de contraseña o mediante un enlace de verificación por correo electrónico. Un usuario cuya cuenta es rechazada puede entonces obtener una sesión autenticada a través de ese flujo. El verificador de usuarios predeterminado no realiza ninguna acción en `checkPostAuth()`, por lo que la configuración predeterminada no se ve afectada.

La corrección hace que `AuthenticatorManager::authenticateUser()` despache el evento `security.authentication.success` una vez creado el token y antes de almacenarlo, tal como ocurre con las autenticaciones a través del firewall, para garantizar que `checkPostAuth()` se ejecute y pueda rechazar al usuario.

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

Responsable

Checkmarx

Reservar

2026-11-06

Divulgación

2026-11-06

Moderación

aceptado

Artículo

VDB-431904

EPSS

0.00000

KEV

no

Actividades

bajo

Fuentes

Do you know our Splunk app?

Download it now for free!