Skip to main content

Lemmy CVE-2026-54739

| EUVDEUVD-2026-62847 MEDIUM
Observable Response Discrepancy (CWE-204)
2026-08-19 GitHub_M
6.9
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send login requests with candidate usernames
  2. Delivery
    Observe HTTP 404 vs HTTP 400 response codes
  3. Exploit
    Confirm which accounts are registered
  4. Execution
    Build targeted account list
  5. Impact
    Launch 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

lemmy < 0.19.19
lemmy 1.0.0-alpha.0, < 1.0.0-beta.1

Affected Packages

euvd lemmy fix: 0.19.19
euvd lemmy_1_0_0_alpha_0 fix: 1.0.0-beta.1

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

Vendor (GitHub_M) PRIMARY 6.9 MEDIUM
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
vuln.today AI 5.3 MEDIUM

Network-exposed login endpoint requires no auth or interaction; only account existence is disclosed, so C:L with no integrity or availability impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Aug 19, 2026 - 21:17 EUVD

DescriptionCVE.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

EPSS Score
0.4%
Top 64% exploitable
Prevalence
Low
niche fediverse platform, limited enterprise or commercial deployment
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy