social-auth-core has an Improper Authentication issue
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 SAML backend accepted SAML responses on the Assertion Consumer Service endpoint without verifying that they matched a previously issued AuthnRequest.
Applications using SAML account association could allow an attacker with a valid account on a trusted IdP to link the attacker's SAML identity to a logged-in victim's local account. The attacker could then authenticate through SAML and gain access to the victim's account.
The issue affects applications using the SAML backend together with authenticated account association.
Patches
The issue has been fixed by validating SAML responses against stored AuthnRequest IDs.
Users should upgrade to a patched version.
Fix:
- https://github.com/python-social-auth/social-core/pull/1794
Workarounds
Applications that cannot upgrade immediately should disable SAML account association for already authenticated users.
If SAML login is not required, the SAML backend can also be disabled by removing it from SOCIAL_AUTH_AUTHENTICATION_BACKENDS.
There is no complete workaround while continuing to allow vulnerable SAML account association.
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/5c72f71125bc60e4411f09e2a9f998de5da7fcb6Fixvia GitHub
- github.com/python-social-auth/social-core/releases/tag/5.0.0Fixvia GitHub
- github.com/python-social-auth/social-core/security/advisories/GHSA-vq6g-g6c7-5f2jAdvisoryvia CVE List
- github.com/advisories/GHSA-vq6g-g6c7-5f2jAdvisoryvia GitHub
- nvd.nist.gov/vuln/detail/CVE-2026-57175Referencevia GitHub
- github.com/python-social-auth/social-core/pull/1794Referencevia GitHub