Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify site using django-allauth login
-
DeliveryGenerate diacritic variants of target identifier
-
ExploitSubmit failed logins across variants to evade throttle
-
ExecutionExceed intended attempt limit
-
ImpactBrute-force password guessing at higher effective rate
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Leading special element handling
|
| Exploitation Conditions | Requires a django-allauth deployment (before 65.19.4) whose failed-login rate limiting is enabled and where login identifiers (username/email) accept diacritics/accented characters that are not normalized before the throttle counter is applied - the description scopes this to 'some common configurations.' Limiting factors: high attack complexity (AC:H), the attack only degrades throttling rather than granting access directly (still requires an underlying weak/guessable credential to succeed), and it depends on the specific normalization/config behavior rather than working against all default setups. |
| Impact | This is a low-severity, defense-in-depth weakness, not a directly exploitable breach. The CVSS 3.1 base score is 3.7 (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N): network-reachable and unauthenticated, but high attack complexity and only Low integrity impact with no confidentiality or availability impact. CWE-180 (incorrect ordering of canonicalization vs. validation) accurately captures the root cause - the failed-login rate limiter counts attempts against the raw submitted identifier before diacritics are normalized, so accented variants create separate counters and inflate the effective attempt ceiling. No EPSS score, no CISA KEV listing, and no public exploit are present in the input, so exploitation status is 'no public exploit identified at time of analysis.' Signals are consistent rather than conflicting: low CVSS, no exploitation telemetry, and an available vendor patch all point to a real-but-minor hardening fix. The one nuance worth stating explicitly is that the tag 'Information Disclosure' does not match the mechanics - the flaw weakens brute-force throttling (integrity/control bypass, I:L), it does not disclose data (C:N). Priority is low: patch on normal maintenance cadence unless the deployment relies heavily on allauth's login rate limiting as a primary brute-force control. |
| Exploit ScenarioDerived | An attacker running an online password-guessing campaign against a Django site using django-allauth submits login attempts using diacritic variants of a target username or email (e.g., 'admín' alongside 'admin'). Because the throttle counts each variant separately before normalization, the attacker gets substantially more guesses than the configured limit before lockout, improving brute-force odds. No public exploit code is identified, and high attack complexity plus dependence on common-but-specific configurations limits reliability. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 25, 2026
Bypass of failed-login rate limiting in django-allauth before 65.19.4 allows unauthenticated remote attackers to obtain a higher effective number of login attempts in certain common configurations by submitting diacritic variants of the same username or email. The flaw is a low-severity defense-in-depth weakness, not a directly exploitable breach: CVSS 3.1 score 3.7 with AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N, requiring specific normalization and rate-limit configuration behavior; it does not grant access without an underlying weak or guessable credential. Vendor-released patch: 65.19.4. No public exploit identified at time of analysis, and no CISA KEV active-exploitation confirmation was provided.
RemediationAI
Upgrade django-allauth to 65.19.4 or later; vendor-released patch: 65.19.4. If immediate upgrade is not possible, apply the upstream commits referenced in the advisory or add application-layer canonicalization for login identifiers before incrementing failed-login counters, such as Unicode NFKC normalization, case folding, and diacritic stripping, while ensuring the normalized form matches the actual account lookup path. Supplementary controls include enabling CAPTCHA or MFA after repeated failures and monitoring for distributed failed attempts across diacritic variants. Trade-offs: normalization can alter how accented usernames or email addresses are treated and may break legitimate logins if not aligned with existing account records; CAPTCHA or MFA adds user friction; aggressive lockout thresholds can create denial-of-service risk. Consult the vendor release notes at https://docs.allauth.org/en/latest/release-notes/recent.html and the PyPI project page at https://pypi.org/project/django-allauth/ for the fixed release.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
django-allauth is a widely used Django authentication, registration, and account-management package distributed via PyPI. The affected CPE is cpe:2.3:a:allauth:django-allauth:*:*:*:*:*:*:*:* and the vendor scope is versions before 65.19.4. The root cause aligns with CWE-180 (Incorrect Behavior Order: Validate Before Canonicalize): failed-login throttle accounting is reportedly applied to the raw submitted login identifier before Unicode/diacritic normalization, so accented or otherwise equivalent variants of a username or email can be counted as distinct keys. This inflates the effective attempt budget only when rate limiting is enabled and identifiers accept diacritics; it does not itself authenticate the attacker. The assessed CVSS vector AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N means remote unauthenticated exploitation with high complexity and limited integrity impact, with no confidentiality or availability impact. The high complexity reflects dependence on the deployment's throttle configuration and identifier normalization behavior rather than broad default exploitability.
Know when Django Allauth gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
Network-reachable and unauthenticated (PR:N) but gated on specific config and diacritic-accepting identifiers (AC:H); only weakens brute-force throttling, so I:L with C:N/A:N.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
DescriptionCVE.org
django-allauth before 65.19.4 does not have the expected limits on failed login attempts because, in some common configurations, an attacker can leverage the handling of diacritics (e.g., accents) for a higher effective limit.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-86517
GHSA-qwgm-hfpp-4pf6
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB