GHSA-vqg6-3fw6-j9jg: Medium severity pip/social-auth-core vulnerability
Impact
The partial-pipeline resume mechanism accepted partialtoken as a bearer credential without binding it to the browser session that created it.
Applications using resumable partial pipeline steps could allow an attacker to start an authentication flow, obtain a valid partial token and verification data, and cause a victim's browser to resume that attacker-controlled flow. This could authenticate the victim's browser as the attacker's account.
The issue affects applications using partial pipeline steps such as mailvalidation or custom steps decorated with @partial.
Patches
The issue has been fixed by binding partial pipeline resumes to the originating browser session.
Users should upgrade to a patched version.
Fix:
https://github.com/python-social-auth/social-core/pull/1816 https://github.com/python-social-auth/social-docs/pull/444 https://github.com/python-social-auth/social-app-django/pull/1009
Workarounds
Applications that cannot upgrade immediately should disable resumable partial pipeline steps, including mailvalidation and custom steps decorated with @partial.
If those flows are required, applications should avoid accepting partial resume links from untrusted contexts until a patched version can be deployed.
There is no complete workaround while continuing to use the vulnerable partial-pipeline resume mechanism.
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/
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
pip/social-auth-coreto a version that resolves this vulnerability.Fixed in 5.0.0 - Configuration
Disable resumable partial pipeline steps, including mail_validation and custom steps decorated with @partial.
Applications using resumable partial pipeline steps Resumable partial pipeline steps, including mail_validation and custom steps decorated with @partial = disabled - Compensating control
Until a patched version can be deployed, avoid accepting partial resume links from untrusted contexts.
Event History
Frequently Asked Questions
Which deployments should be prioritized for remediation?
Applications that use resumable partial pipeline steps are affected, including those using mail_validation or custom pipeline steps decorated with @partial. Applications without resumable partial pipeline steps are not identified as affected by the advisory.
What does an attacker need to exploit this issue?
An attacker needs to initiate an authentication flow and obtain a valid partial token and its verification data. They can then cause a victim browser to resume the attacker-controlled flow; no attacker authentication is indicated.
What is the temporary mitigation if an upgrade cannot be performed immediately?
Disable resumable partial pipeline steps, including mail_validation and custom steps decorated with @partial. The documented fix is to upgrade to a version that binds partial pipeline resumes to the originating browser session.