Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend login requests with candidate usernames
-
DeliveryObserve HTTP 404 vs HTTP 400 response codes
-
ExploitConfirm which accounts are registered
-
ExecutionBuild targeted account list
-
ImpactLaunch credential stuffing or phishing campaign
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V6 - Authentication Response uniformity
|
| Exploitation Conditions | No special conditions are required beyond unauthenticated HTTP access to the Lemmy login endpoint, which is exposed by default on all public-facing Lemmy instances. No configuration change, privileged session, or specific deployment mode is needed. Exploitation is bounded by its impact: only account existence (username or email) is disclosed - no credentials, private messages, or account content are exposed. At scale, enumeration requires iterating many login requests, which instance operators may partially mitigate through rate-limiting, but the discriminating response discrepancy exists in all default configurations prior to the patch. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N) and score of 6.9 are well-calibrated: the flaw is network-exploitable with zero prerequisites but yields only low confidentiality impact limited to account existence. No EPSS data was provided and the vulnerability is not listed in CISA KEV, suggesting no confirmed active exploitation at time of analysis. The practical risk is a force-multiplier for downstream attacks: confirmed account lists enable targeted credential stuffing, spear-phishing, or social engineering against Lemmy users, whose accounts are often pseudonymous and whose existence on a given instance may itself be sensitive. The risk is therefore moderate-to-low in isolation but meaningful in the context of Lemmy's user base, which often includes privacy-conscious individuals on politically or socially sensitive instances. |
| Exploit ScenarioDerived | An unauthenticated attacker submits POST requests to the Lemmy login API with a list of candidate usernames or email addresses harvested from public Lemmy posts, profile pages, or data breaches, paired with a dummy password. By observing whether the response is HTTP 404 (account does not exist) or HTTP 400 (account exists, wrong password), the attacker builds a confirmed registry of active accounts on the target instance, which is then used to launch targeted phishing emails or automated credential-stuffing attacks against those confirmed users. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 19, 2026
Username enumeration in Lemmy's login endpoint allows unauthenticated remote attackers to confirm whether a given username or email address is registered by observing differentiated HTTP status codes - HTTP 404 for nonexistent accounts versus HTTP 400 for existing accounts with a wrong password. All Lemmy instances prior to 0.19.19 (stable) and 1.0.0-beta.1 (beta) are affected across the full fediverse deployment surface. No public exploit has been identified at time of analysis, but the flaw requires no authentication or special configuration and is trivially exploitable with any HTTP client.
RemediationAI
Upgrade to Lemmy 0.19.19 (stable) or 1.0.0-beta.1 (beta), both available at https://github.com/LemmyNet/lemmy/releases/tag/0.19.19 and https://github.com/LemmyNet/lemmy/releases/tag/1.0.0-beta.1 respectively, with release notes at https://join-lemmy.org/news/2026-06-09_-_Lemmy_Release_v0.19.19. If an immediate upgrade is not feasible, instance operators can apply rate-limiting on the login endpoint per IP address to significantly slow enumeration - note this does not eliminate the response discrepancy, only throttles it. Additionally, placing the login endpoint behind a reverse proxy configured to normalize all authentication error responses to a uniform HTTP 400 would neutralize the HTTP-status-code vector, though timing differences may persist until the upstream patch is applied. Restricting login endpoint access to known IP ranges is a stronger but operationally costly control for closed communities.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Lemmy is a Rust-based federated link aggregator. The vulnerability originates in crates/api/api/src/local_user/login.rs, where LocalUserView::find_by_email_or_name directly propagated a database NotFound error as an HTTP 404 response when no matching account existed, while a found account with an incorrect password returned LemmyErrorType::IncorrectLogin (HTTP 400). This is a textbook CWE-204 (Observable Response Discrepancy): the system leaks account existence through both HTTP status code and error type divergence. The fix (PRs #6531 and #6535) addresses two attack surfaces simultaneously - it normalizes the error type returned by find_by_email_or_name from NotFound to IncorrectLogin, and introduces a constant-time dummy bcrypt verification using a hardcoded hash on the nonexistent-user code path to prevent timing side-channel enumeration as well. CPE cpe:2.3:a:lemmynet:lemmy:*:*:*:*:*:*:*:* covers all unpatched versions.
Know when Lemmy 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network-exposed login endpoint requires no auth or interaction; only account existence is disclosed, so C:L with no integrity or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Lemmy is a link aggregator and forum for the fediverse. Prior to 0.19.19 and 1.0.0-beta.1, Lemmy's login endpoint in crates/api/api/src/local_user/login.rs returns different errors depending on whether the username_or_email value exists. LocalUserView::find_by_email_or_name propagates a NotFound response for an unknown account, while an existing account with a wrong password returns LemmyErrorType::IncorrectLogin. This observable response discrepancy, including HTTP 404 for a nonexistent account and HTTP 400 for an incorrect password on an existing account, allows an unauthenticated attacker to confirm registered usernames or email addresses and use the results for targeted credential attacks or social engineering. This issue is fixed in versions 0.19.19 and 1.0.0-beta.1.
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.
Rate limit bypass in Lemmy prior to 0.19.19 and 1.0.0-beta.1 allows unauthenticated remote attackers to circumvent all I
Missing moderator rank authorization in Lemmy's ActivityPub federation layer allows a lower-ranked remote moderator to f
Server-side request forgery (SSRF) in Lemmy prior to version 0.19.18 allows authenticated low-privileged users to bypass
Lemmy is a link aggregator and forum for the fediverse. Rated medium severity (CVSS 6.5), this vulnerability is remotely
Stored cross-site scripting in lemmy-ui prior to 0.19.19-beta.1 allows session hijacking and unauthorized authenticated
Server-side request forgery (SSRF) in Lemmy prior to version 0.19.18 allows authenticated low-privileged users to trigge
Private message block enforcement in Lemmy is bypassed by the edit path, allowing a blocked sender to keep modifying old
EUVD-2026-62847
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB