CVE-2025-65431 django-allauth's Okta and NetIQ implementations used a mutable identifier for authorization decisions
Attackers can hijack accounts by exploiting mutable preferred_username identifiers in Okta and NetIQ integrations within allauth-django.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-65431?
CVE-2025-65431 is a medium-severity authentication bypass vulnerability in n/a, published on 15 Dec 2025. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
An issue was discovered in allauth-django before 65.13.0. Both Okta and NetIQ were using preferred_username as the identifier for third-party provider accounts. That value may be mutable and should therefore be avoided for authorization decisions. The providers are now using sub instead.
Weakness: CWE-287
Which versions are affected by CVE-2025-65431?
3 open source packages ship an affected version, including django-allauth. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
django-allauth PyPI | All versions | 65.13.0 |
django-allauth PyPI | All versions | 65.13.0 |
django-allauth PyPI | All versions | 65.13.0 |
Products include Allauth Allauth.
How do I fix CVE-2025-65431?
Upgrade django-allauth to 65.13.0 or later.
Upgrade, and rotate credentials and sessions that may have been exposed. More about Authentication bypass.
Is CVE-2025-65431 being exploited?
There is no known exploitation of CVE-2025-65431 in the wild and no public exploit code.
Other vulnerabilities in n/a
Sources
Also known as DEBIAN-CVE-2025-65431, GHSA-8m3c-c723-h4p4, PYSEC-2025-111, UBUNTU-CVE-2025-65431.