Skip to main content

Lemmy EUVDEUVD-2026-62850

| CVE-2026-54738 MEDIUM
Improper Control of Interaction Frequency (CWE-799)
2026-08-19 GitHub_M
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Craft request with spoofed first XFF IP
  2. Delivery
    Send to rate-limited Lemmy API endpoint
  3. Exploit
    nginx appends real IP but passes spoofed first value
  4. Execution
    actix-web reads spoofed IP as client identity
  5. Persist
    Rate limiter allocates fresh bucket
  6. Impact
    Repeat with new spoofed IP to execute spam, brute-force, or scraping at scale

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Interaction frequency control
Exploitation Conditions

Exploitation requires that the target Lemmy instance is deployed using the bundled docker/nginx.conf or docker/federation/nginx.conf with the unpatched $proxy_add_x_forwarded_for directive - this is the default Docker deployment shipped with Lemmy. No authentication is required; the CVSS vector PR:N confirms unauthenticated exploitation. Affected endpoints are POST /api/v4/account/auth/register, POST /api/v4/account/auth/login, POST /api/v4/post, POST /api/v4/comment, GET /api/v4/search, POST /api/v4/image, and POST /api/v4/account/import_settings. Exploitation is limited to instances using the bundled nginx as the outermost proxy; deployments that place a trusted upstream proxy (CDN, load balancer) that strips or overwrites XFF headers before reaching nginx would not be directly exploitable via this vector. There is no required user interaction and no platform-specific constraint beyond the nginx configuration.

Impact

The CVSS 3.1 vector AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L (6.5 Medium) accurately reflects the attack surface: fully remote, no authentication, trivially low complexity. Real-world risk is meaningfully higher than the score alone suggests for the subset of operators using Lemmy's bundled Docker configuration, because all rate-limited API endpoints - registration, login, posting, commenting, search, image upload, and settings import - become simultaneously unprotected. A single attacker script can cycle through spoofed IPs and effectively eliminate all per-IP throttling. The EPSS score is not provided in the input data; given no KEV listing and no public POC, exploitation probability at the population level is likely low, but the attack is so mechanically simple that any motivated actor can replicate it without tooling. The integrity and availability impacts are understated by CVSS S:U: while scope does not change, a successful bypass can cause account-farm creation, spam flooding, and search-scraping that degrade service quality for legitimate users well beyond 'Low' practical impact. No signals conflict with each other; KEV status is absent and no POC is confirmed.

Exploit ScenarioDerived

An attacker targeting a Lemmy instance running the default Docker deployment sends POST /api/v4/account/auth/register requests in a loop, each carrying a distinct spoofed first value in the X-Forwarded-For header (e.g., incrementing through 1.0.0.1, 1.0.0.2, …). Nginx appends the real IP but the rate limiter keys on the injected value, granting a fresh bucket for every request. This allows automated mass account creation or credential stuffing against the login endpoint at rates that bypass all configured throttles. No public POC is confirmed, but the technique requires only standard HTTP tooling.

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

Rate limit bypass in Lemmy prior to 0.19.19 and 1.0.0-beta.1 allows unauthenticated remote attackers to circumvent all IP-based throttling by injecting a spoofed address as the first value of the X-Forwarded-For header. Because the bundled docker/nginx.conf forwards XFF headers using $proxy_add_x_forwarded_for rather than $remote_addr, attackers control the address that actix-web's ConnectionInfo::realip_remote_addr reads, receiving a fresh rate-limit bucket per request. No public exploit or CISA KEV listing exists, but exploitation is trivially automated and directly enables account registration spam, credential brute-forcing, comment spam, content scraping, bulk uploads, and repeated settings imports.

RemediationAI

Upgrade to Lemmy 0.19.19 (stable) or 1.0.0-beta.1 (beta), which replace the nginx XFF directive with 'proxy_set_header X-Forwarded-For $remote_addr' in both docker/nginx.conf and docker/federation/nginx.conf, as confirmed in commits 41513c89 and 8b5b2aa7 and PRs #6574 and #6575. This change causes nginx to forward only the verified socket-layer IP rather than the client-controlled header. For operators who cannot immediately upgrade, the same fix can be applied manually to the nginx configuration by replacing every 'proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for' directive with 'proxy_set_header X-Forwarded-For $remote_addr' - this drops legitimate IP chaining from upstream trusted proxies, which is an acceptable trade-off for most self-hosted single-proxy deployments. Operators running behind a trusted upstream CDN or load balancer should instead configure a fixed trusted-proxy allowlist before applying this change. Release pages are at https://github.com/LemmyNet/lemmy/releases/tag/0.19.19 and https://github.com/LemmyNet/lemmy/releases/tag/1.0.0-beta.1.

Affected VersionsENISA

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

Affected Packages

euvd lemmy fix: 0.19.19
euvd lemmy_1_0_0_alpha_5 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 built on actix-web. Its rate limiting in crates/utils/src/rate_limit/mod.rs derives per-client buckets from raw_ip_key, which calls actix-web's ConnectionInfo::realip_remote_addr. That function reads the leftmost value of the X-Forwarded-For header as the trusted client IP - a design valid only when a trusted reverse proxy strips or overwrites client-supplied XFF values before forwarding. The bundled docker/nginx.conf and docker/federation/nginx.conf used the nginx variable $proxy_add_x_forwarded_for, which appends the real connecting IP to whatever XFF header the client already sent, rather than replacing it. This means a client supplying 'X-Forwarded-For: 1.2.3.4' causes nginx to forward 'X-Forwarded-For: 1.2.3.4, <real_ip>' - and actix-web trusts '1.2.3.4' as the client address. CWE-799 (Improper Control of Interaction Frequency) captures the root cause: the rate-limiting control plane fails to authenticate the identity it is throttling. Affected CPE: cpe:2.3:a:lemmynet:lemmy:*:*:*:*:*:*:*:* for all versions prior to 0.19.19 and 1.0.0-beta.1.

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.5 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L
vuln.today AI 6.5 MEDIUM

Network-reachable with no authentication or complexity; no confidentiality impact; integrity and availability both Low from spam and resource abuse.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
Low

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, actix-web ConnectionInfo::realip_remote_addr reads the first value of X-Forwarded-For as the client address used by raw_ip_key in crates/utils/src/rate_limit/mod.rs. Lemmy's bundled docker/nginx.conf uses $proxy_add_x_forwarded_for instead of $remote_addr, which appends the real client address to an X-Forwarded-For value supplied by the client. An unauthenticated attacker can therefore place a different spoofed address first on each request and receive a new rate-limit bucket, bypassing limits on POST /api/v4/account/auth/register, POST /api/v4/account/auth/login, POST /api/v4/post, POST /api/v4/comment, GET /api/v4/search, POST /api/v4/image, and POST /api/v4/account/import_settings. This permits excessive account creation, brute-force attempts, spam, scraping, uploads, and repeated imports. 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 open-source fediverse platform, limited production footprint
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

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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