Cloudanix VulnDB

CVE-2024-50341

Low · 3.1

CVSS

3.1

EPSS

0.3%

Published

Nov 6, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A programming shortcut for logging users in inside Symfony applications can skip important security checks, letting some people sign in when they should be blocked.

Exploitation
Remote Authenticated
Attacker needs
Low Privilege
Complexity
High
Impact
Privilege Gain
Component
Web Framework
Class
Authorization Bypass
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The configured user_checker on a firewall is bypassed during programmatic authentication via the Security::login method, allowing logins that should have been rejected by custom user validation logic.

Why it matters to the business

Attackers or malicious insiders can obtain authenticated sessions for accounts that should be blocked by existing user checks, increasing the risk of unauthorized access across Symfony applications.

How an attack unfolds

An attacker invokes the Security::login method directly in application code or via a vulnerable endpoint to authenticate a user account; because the firewall's user_checker is never invoked, any pre-login validation (account status, custom bans, etc.) is skipped and the session is created anyway.

How to fix it

Upgrade symfony/security-bundle (and the symfony/symfony monorepo) to versions 6.4.10, 7.0.10, or 7.1.3 or later; the patch ensuring user_checker execution is included in commit 938c0728518f9df199477d90ee43838359f81a7a. No workarounds exist.

How to confirm the fix worked

After upgrade, confirm the Symfony version meets or exceeds the fixed releases and exercise the Security::login path while verifying that the user_checker is now invoked (via custom logging or unit tests).

Typical attack path

  1. Identify an application endpoint or code path that can trigger Security::login with attacker-controlled credentials
  2. Supply a user identity that would normally be rejected by the configured user_checker
  3. Call the login method; the missing checker invocation results in a valid authenticated session
  4. Use the resulting session to access protected resources

How to detect it

Review application logs and authentication flow traces for Security::login invocations that do not produce corresponding user_checker activity; compare timestamps of login events against any custom checker audit logs.

What your security team should do

  • Immediately upgrade all Symfony installations to the fixed versions listed above
  • Audit application code for any direct use of Security::login and ensure it is covered by the updated bundle
  • Review firewall configurations to confirm user_checker definitions remain effective post-upgrade
  • Monitor EPSS and KEV updates; although currently low, re-evaluate if exploit maturity changes

The record

symfony/security-bundle is a module for the Symphony PHP framework which provides a tight integration of the Security component into the Symfony full-stack framework. The custom `user_checker` defined on a firewall is not called when Login Programmaticaly with the `Security::login` method, leading to unwanted login. As of versions 6.4.10, 7.0.10 and 7.1.3 the `Security::login` method now ensure to call the configured `user_checker`. All users are advised to upgrade. There are no known workarounds for this vulnerability.

Affected packages

Ecosystem Package Introduced Fixed
Packagist symfony/security-bundle 6.2.0 6.4.10
Packagist symfony/security-bundle 7.0.0 7.0.10
Packagist symfony/security-bundle 7.1.0 7.1.3
Packagist symfony/symfony 6.2.0 6.4.10
Packagist symfony/symfony 7.0.0 7.0.10
Packagist symfony/symfony 7.1.0 7.1.3
Debian:13 symfony 0 6.4.10+dfsg-1
Ubuntu:20.04:LTS symfony 0 No fix
Ubuntu:22.04:LTS symfony 0 No fix
Ubuntu:24.04:LTS symfony 0 No fix
Ubuntu:24.10 symfony 0 No fix
Ubuntu:Pro:16.04:LTS symfony 0 No fix
Ubuntu:Pro:18.04:LTS symfony 0 No fix
Ubuntu:Pro:24.04:LTS symfony 0 6.4.5+dfsg-3ubuntu3+esm1
packagist symfony/security-bundle 6.2.0 6.4.10
packagist symfony/security-bundle 7.0.0 7.0.10
packagist symfony/security-bundle 7.1.0 7.1.3
packagist symfony/symfony 6.2.0 6.4.10
packagist symfony/symfony 7.0.0 7.0.10
packagist symfony/symfony 7.1.0 7.1.3

Related vulnerabilities