Cloudanix VulnDB

CVE-2024-32879

Medium · 4.9

CVSS

4.9

EPSS

0.6%

Published

Apr 24, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A social login feature could let someone sign in as another user when their account ID differs only by capital or lowercase letters.

Exploitation
Remote Authenticated
Attacker needs
Low Privilege
Complexity
High
Impact
Privilege Gain
Component
Library
Class
Authentication Bypass
Remediation
Upgrade
Effort
Low
Patch risk
Low

What it actually does

Due to default case-insensitive collation in MySQL or MariaDB, third-party authentication user IDs are matched without regard to case, allowing distinct IDs to collide and grant unintended access.

Why it matters to the business

Attackers may gain unauthorized access to user accounts through social login, increasing risk of account takeover, data exposure, and compliance violations in applications relying on this library.

How an attack unfolds

An attacker obtains or registers a third-party identity whose user ID differs from a target account only in letter case, then initiates social authentication; the database match succeeds due to collation, bypassing intended identity separation.

How to fix it

Upgrade python-social-auth/social-app-django to the commit 593ee4638eab9b1d9f252393a21ead643e3ceae6 (version 5.4.1 equivalent). As a workaround, alter the collation of the affected user ID field to a case-sensitive setting such as utf8mb4_bin.

How to confirm the fix worked

Confirm the installed package version includes commit 593ee4638eab9b1d9f252393a21ead643e3ceae6 and verify the database column storing third-party user IDs uses a case-sensitive collation.

Typical attack path

  1. Locate a target account using social authentication
  2. Obtain or create a third-party identity whose ID collides ignoring case
  3. Perform authentication via the social provider
  4. Receive authenticated session for the target account

How to detect it

Search authentication logs for social login events where user IDs match existing accounts when case is ignored; inspect database queries involving the social auth UID field for unexpected matches.

What your security team should do

  • Apply the library upgrade or collation change immediately
  • Audit all social authentication flows for case-sensitivity assumptions
  • Review authentication logs for recent collisions or anomalous logins

The record

Python Social Auth is a social authentication/registration mechanism. Prior to version 5.4.1, due to default case-insensitive collation in MySQL or MariaDB databases, third-party authentication user IDs are not case-sensitive and could cause different IDs to match. This issue has been addressed by a fix released in version 5.4.1. An immediate workaround would be to change collation of the affected field.

Affected packages

Ecosystem Package Introduced Fixed
PyPI social-auth-app-django 0 5.4.1
Debian:11 social-auth-app-django 0 No fix
Debian:12 social-auth-app-django 0 No fix
Debian:13 social-auth-app-django 0 5.4.1-1
Debian:14 social-auth-app-django 0 5.4.1-1
Red Hat:ansible_automation_platform:2.4::el8 automation-controller 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 automation-controller-cli 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 automation-controller-server 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 automation-controller-ui 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 automation-controller-venv-tower 0 0:4.5.7-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 automation-controller-venv-tower 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 automation-hub 0 0:4.9.2-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-aiohttp 0 0:3.9.5-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-aiohttp-debuginfo 0 0:3.9.5-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-black 0 0:22.8.0-2.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-cryptography 0 0:42.0.5-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-cryptography-debuginfo 0 0:42.0.5-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-django 0 0:4.2.15-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-galaxy-ng 0 0:4.9.2-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-grpcio 0 0:1.58.3-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-grpcio-debuginfo 0 0:1.58.3-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-gunicorn 0 0:22.0.0-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-idna 0 0:3.7-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-jinja2 0 0:3.1.4-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-pillow 0 0:10.3.0-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-pillow-debuginfo 0 0:10.3.0-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-pydantic 0 0:1.10.15-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-requests 0 0:2.32.2-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-social-auth-app-django 0 0:5.4.1-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-sqlparse 0 0:0.5.0-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python39-zipp 0 0:3.19.2-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-aiohttp 0 0:3.9.5-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-aiohttp-debugsource 0 0:3.9.5-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-black 0 0:22.8.0-2.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-cryptography 0 0:42.0.5-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-cryptography-debugsource 0 0:42.0.5-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-django 0 0:4.2.15-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-galaxy-ng 0 0:4.9.2-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-grpcio 0 0:1.58.3-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-grpcio-debugsource 0 0:1.58.3-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-gunicorn 0 0:22.0.0-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-idna 0 0:3.7-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-jinja2 0 0:3.1.4-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-pillow 0 0:10.3.0-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-pillow-debugsource 0 0:10.3.0-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-pydantic 0 0:1.10.15-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-requests 0 0:2.32.2-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-social-auth-app-django 0 0:5.4.1-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 python3x-sqlparse 0 0:0.5.0-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 receptor 0 0:1.4.8-1.el8ap
Red Hat:ansible_automation_platform:2.4::el8 receptorctl 0 0:1.4.8-1.el8ap
Red Hat:ansible_automation_platform:2.4::el9 automation-controller 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 automation-controller-cli 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 automation-controller-server 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 automation-controller-ui 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 automation-controller-venv-tower 0 0:4.5.7-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 automation-controller-venv-tower 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 automation-hub 0 0:4.9.2-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-aiohttp 0 0:3.9.5-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-aiohttp-debugsource 0 0:3.9.5-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-black 0 0:22.8.0-2.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-cryptography 0 0:42.0.5-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-cryptography-debugsource 0 0:42.0.5-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-django 0 0:4.2.15-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-galaxy-ng 0 0:4.9.2-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-grpcio 0 0:1.58.3-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-grpcio-debugsource 0 0:1.58.3-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-gunicorn 0 0:22.0.0-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-idna 0 0:3.7-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-jinja2 0 0:3.1.4-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-pillow 0 0:10.3.0-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-pillow-debugsource 0 0:10.3.0-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-pydantic 0 0:1.10.15-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-requests 0 0:2.32.2-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-social-auth-app-django 0 0:5.4.1-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-sqlparse 0 0:0.5.0-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python-zipp 0 0:3.19.2-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-aiohttp 0 0:3.9.5-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-aiohttp-debuginfo 0 0:3.9.5-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-black 0 0:22.8.0-2.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-cryptography 0 0:42.0.5-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-cryptography-debuginfo 0 0:42.0.5-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-django 0 0:4.2.15-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-galaxy-ng 0 0:4.9.2-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-grpcio 0 0:1.58.3-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-grpcio-debuginfo 0 0:1.58.3-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-gunicorn 0 0:22.0.0-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-idna 0 0:3.7-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-jinja2 0 0:3.1.4-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-pillow 0 0:10.3.0-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-pillow-debuginfo 0 0:10.3.0-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-pydantic 0 0:1.10.15-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-requests 0 0:2.32.2-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-social-auth-app-django 0 0:5.4.1-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-sqlparse 0 0:0.5.0-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 python3-zipp 0 0:3.19.2-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 receptor 0 0:1.4.8-1.el9ap
Red Hat:ansible_automation_platform:2.4::el9 receptorctl 0 0:1.4.8-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el8 automation-controller 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 automation-controller-cli 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 automation-controller-server 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 automation-controller-ui 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 automation-controller-venv-tower 0 0:4.5.7-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 automation-controller-venv-tower 0 0:4.5.10-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 python39-black 0 0:22.8.0-2.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 python39-cryptography 0 0:42.0.5-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 python39-cryptography-debuginfo 0 0:42.0.5-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 python39-idna 0 0:3.7-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 python39-jinja2 0 0:3.1.4-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 python39-requests 0 0:2.32.2-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 python39-zipp 0 0:3.19.2-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 python3x-black 0 0:22.8.0-2.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 python3x-cryptography 0 0:42.0.5-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 python3x-cryptography-debugsource 0 0:42.0.5-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 python3x-idna 0 0:3.7-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 python3x-jinja2 0 0:3.1.4-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 python3x-requests 0 0:2.32.2-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 receptor 0 0:1.4.8-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el8 receptorctl 0 0:1.4.8-1.el8ap
Red Hat:ansible_automation_platform_developer:2.4::el9 automation-controller 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 automation-controller-cli 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 automation-controller-server 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 automation-controller-ui 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 automation-controller-venv-tower 0 0:4.5.7-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 automation-controller-venv-tower 0 0:4.5.10-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 python-black 0 0:22.8.0-2.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 python-cryptography 0 0:42.0.5-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 python-cryptography-debugsource 0 0:42.0.5-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 python-idna 0 0:3.7-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 python-jinja2 0 0:3.1.4-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 python-requests 0 0:2.32.2-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 python-zipp 0 0:3.19.2-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 python3-black 0 0:22.8.0-2.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 python3-cryptography 0 0:42.0.5-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 python3-cryptography-debuginfo 0 0:42.0.5-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 python3-idna 0 0:3.7-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 python3-jinja2 0 0:3.1.4-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 python3-requests 0 0:2.32.2-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 python3-zipp 0 0:3.19.2-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 receptor 0 0:1.4.8-1.el9ap
Red Hat:ansible_automation_platform_developer:2.4::el9 receptorctl 0 0:1.4.8-1.el9ap
Red Hat:ansible_automation_platform_inside:2.4::el8 python39-black 0 0:22.8.0-2.el8ap
Red Hat:ansible_automation_platform_inside:2.4::el8 python39-cryptography 0 0:42.0.5-1.el8ap
Red Hat:ansible_automation_platform_inside:2.4::el8 python39-cryptography-debuginfo 0 0:42.0.5-1.el8ap
Red Hat:ansible_automation_platform_inside:2.4::el8 python39-jinja2 0 0:3.1.4-1.el8ap
Red Hat:ansible_automation_platform_inside:2.4::el8 python39-zipp 0 0:3.19.2-1.el8ap
Red Hat:ansible_automation_platform_inside:2.4::el8 python3x-black 0 0:22.8.0-2.el8ap
Red Hat:ansible_automation_platform_inside:2.4::el8 python3x-cryptography 0 0:42.0.5-1.el8ap
Red Hat:ansible_automation_platform_inside:2.4::el8 python3x-cryptography-debugsource 0 0:42.0.5-1.el8ap
Red Hat:ansible_automation_platform_inside:2.4::el8 python3x-jinja2 0 0:3.1.4-1.el8ap
Red Hat:ansible_automation_platform_inside:2.4::el8 receptor 0 0:1.4.8-1.el8ap
Red Hat:ansible_automation_platform_inside:2.4::el8 receptorctl 0 0:1.4.8-1.el8ap
Red Hat:ansible_automation_platform_inside:2.4::el9 python-black 0 0:22.8.0-2.el9ap
Red Hat:ansible_automation_platform_inside:2.4::el9 python-cryptography 0 0:42.0.5-1.el9ap
Red Hat:ansible_automation_platform_inside:2.4::el9 python-cryptography-debugsource 0 0:42.0.5-1.el9ap
Red Hat:ansible_automation_platform_inside:2.4::el9 python-jinja2 0 0:3.1.4-1.el9ap
Red Hat:ansible_automation_platform_inside:2.4::el9 python-zipp 0 0:3.19.2-1.el9ap
Red Hat:ansible_automation_platform_inside:2.4::el9 python3-black 0 0:22.8.0-2.el9ap
Red Hat:ansible_automation_platform_inside:2.4::el9 python3-cryptography 0 0:42.0.5-1.el9ap
Red Hat:ansible_automation_platform_inside:2.4::el9 python3-cryptography-debuginfo 0 0:42.0.5-1.el9ap
Red Hat:ansible_automation_platform_inside:2.4::el9 python3-jinja2 0 0:3.1.4-1.el9ap
Red Hat:ansible_automation_platform_inside:2.4::el9 python3-zipp 0 0:3.19.2-1.el9ap
Red Hat:ansible_automation_platform_inside:2.4::el9 receptor 0 0:1.4.8-1.el9ap
Red Hat:ansible_automation_platform_inside:2.4::el9 receptorctl 0 0:1.4.8-1.el9ap
Ubuntu:16.04:LTS python-social-auth 0 No fix
Ubuntu:18.04:LTS python-social-auth 0 No fix
Ubuntu:Pro:16.04:LTS python-social-auth 0 No fix
Ubuntu:Pro:18.04:LTS python-social-auth 0 No fix
openSUSE:Tumbleweed python-social-auth-app-django 0 5.4.1-1.1

Related vulnerabilities