social-auth-core has Login CSRF via Missing State Parameter in LoginRadius Backend
What fixes it
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
Impact
The LoginRadius backend did not validate OAuth state during the authentication flow.
Applications using this backend were vulnerable to login CSRF. An attacker could cause a victim's browser session to complete authentication using an attacker-controlled LoginRadius token, making the victim authenticated as the attacker's LoginRadius identity.
The issue affects only applications using the LoginRadius backend.
Patches
The issue has been fixed by enabling callback state validation for the LoginRadius backend.
Users should upgrade to a patched version.
Fix:
- https://github.com/python-social-auth/social-core/pull/1808
Workarounds
Applications that cannot upgrade immediately should disable the LoginRadius backend by removing it from SOCIAL_AUTH_AUTHENTICATION_BACKENDS.
There is no complete workaround while continuing to use the vulnerable backend.
Credits
Reported through GitHub private vulnerability reporting by Liyi Zhou, Ziyue Wang, Strick, Maurice, and Chenchen Yu from the University of Sydney security research team.
Reporter references:
- https://lzhou1110.github.io/
- https://zyy0530.github.io/
- https://str1ckl4nd.github.io/
- https://maurice.busystar.org/
- https://7thparkk.github.io/
Text from GitHub Advisory Database
Affected versions 53
- social-auth-core, pip< 5.0.0GitHub
- social-coreaffected: < 5.0.0CVE List
- social-auth-core, PyPIfrom first release, fixed in 5.0.0OSV
- social-auth-core, PyPI0.0.1OSV
- social-auth-core, PyPI0.1.0OSV
- social-auth-core, PyPI0.2.0OSV
- social-auth-core, PyPI0.2.1OSV
- social-auth-core, PyPI1.0.0OSV
- social-auth-core, PyPI1.0.1OSV
- social-auth-core, PyPI1.1.0OSV
- social-auth-core, PyPI1.2.0OSV
- social-auth-core, PyPI1.3.0OSV
- social-auth-core, PyPI1.4.0OSV
- social-auth-core, PyPI1.5.0OSV
- social-auth-core, PyPI1.6.0OSV
- social-auth-core, PyPI1.7.0OSV
- social-auth-core, PyPI2.0.0OSV
- social-auth-core, PyPI3.0.0OSV
- social-auth-core, PyPI3.1.0OSV
- social-auth-core, PyPI3.2.0OSV
- social-auth-core, PyPI3.3.0OSV
- social-auth-core, PyPI3.3.1OSV
- social-auth-core, PyPI3.3.2OSV
- social-auth-core, PyPI3.3.3OSV
- social-auth-core, PyPI3.4.0OSV
- social-auth-core, PyPI4.0.2OSV
- social-auth-core, PyPI4.0.3OSV
- social-auth-core, PyPI4.1.0OSV
- social-auth-core, PyPI4.2.0OSV
- social-auth-core, PyPI4.3.0OSV
- social-auth-core, PyPI4.4.0OSV
- social-auth-core, PyPI4.4.1OSV
- social-auth-core, PyPI4.4.2OSV
- social-auth-core, PyPI4.5.0OSV
- social-auth-core, PyPI4.5.1OSV
- social-auth-core, PyPI4.5.2OSV
- social-auth-core, PyPI4.5.3OSV
- social-auth-core, PyPI4.5.4OSV
- social-auth-core, PyPI4.5.5OSV
- social-auth-core, PyPI4.5.6OSV
- social-auth-core, PyPI4.6.0OSV
- social-auth-core, PyPI4.6.1OSV
- social-auth-core, PyPI4.7.0OSV
- social-auth-core, PyPI4.8.0OSV
- social-auth-core, PyPI4.8.1OSV
- social-auth-core, PyPI4.8.2OSV
- social-auth-core, PyPI4.8.3OSV
- social-auth-core, PyPI4.8.4OSV
- social-auth-core, PyPI4.8.5OSV
- social-auth-core, PyPI4.8.6OSV
- social-auth-core, PyPI4.8.7OSV
- social-auth-core, PyPI4.9.0OSV
- social-auth-core, PyPI4.9.1OSV
References 6
- github.com/python-social-auth/social-core/commit/4d332820e6b0583fde522956105a0e2beced5335Fixvia GitHub
- github.com/python-social-auth/social-core/releases/tag/5.0.0Fixvia GitHub
- github.com/python-social-auth/social-core/security/advisories/GHSA-x7qq-23vw-7pfgAdvisoryvia CVE List
- github.com/advisories/GHSA-x7qq-23vw-7pfgAdvisoryvia GitHub
- nvd.nist.gov/vuln/detail/CVE-2026-57177Referencevia GitHub
- github.com/python-social-auth/social-core/pull/1808Referencevia GitHub