Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessOperate or compromise a federated Lemmy instance
-
DeliveryCraft markdown post with JS payload in video alt text
-
ExploitPush content to target Lemmy instance via federation
-
ExecutionVictim opens page; mdToHtml renders unescaped alt text
-
PersistBrowser executes attacker JavaScript in lemmy-ui origin
-
ImpactExfiltrate session token or perform authenticated actions
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires all of the following: (1) the target lemmy-ui deployment serves no Content-Security-Policy header - the vendor advisory confirms that CSP blocks the exploit, and the default self-hosted configuration does not set this header; (2) the attacker must either hold approved-member status on the target Lemmy instance or control a federated Lemmy instance capable of pushing content to the target; (3) the content must be rendered through the mdToHtml path (post bodies, comment bodies, private messages, community sidebars, site sidebars) - the mdToHtmlNoImages rendering path is not affected; (4) the victim must passively view the rendered content in their browser (UI:P). Exploitation is limited to lemmy-ui versions prior to 0.19.19-beta.1 that ship markdown-it-html5-embed@1.0.0. Instances with CSP enabled and instances that have upgraded to 0.19.19-beta.1 are not exploitable regardless of the other conditions. |
| Impact | The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N) yields a 6.4 score, which modestly understates real-world risk for unprotected deployments. The high subsequent-system confidentiality and integrity metrics correctly capture session hijacking and authenticated action abuse. The PR:N assignment reflects the federated attack path - a threat actor operating their own Lemmy instance can push content to a target instance without any approval on that instance, though controlling a federated server is itself a non-trivial prerequisite that more closely resembles PR:L. The single most important risk modifier is CSP: the vendor advisory explicitly states that a Content-Security-Policy header blocks the described exploit, and equally states that the tested default self-hosted deployment serves no CSP. This bifurcates the vulnerable population sharply - instances with CSP are protected at the network layer; the majority of community self-hosted instances without CSP are fully exposed. No EPSS data was provided; exploitation probability cannot be quantified. No KEV listing exists. The Lemmy fediverse model amplifies the attacker's reach because one malicious federated instance can target viewers across many independent Lemmy deployments without needing per-instance credentials. Effective risk is moderate-to-high for default self-hosted deployments and low for CSP-hardened instances. |
| Exploit ScenarioDerived | An attacker who operates a federated Lemmy instance crafts a post containing the markdown image token . The content federates to a target self-hosted Lemmy instance with no CSP header. When a logged-in viewer opens the post, lemmy-ui calls mdToHtml, the markdown-it-html5-embed plugin generates a video element with the unescaped script tag in the fallback body, Inferno injects it as raw HTML, and the browser executes the attacker's JavaScript - exfiltrating the viewer's session cookie and enabling subsequent authenticated actions on their account. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 19, 2026
Stored cross-site scripting in lemmy-ui prior to 0.19.19-beta.1 allows session hijacking and unauthorized authenticated actions against viewers who render attacker-controlled markdown content. The vulnerable markdown-it-html5-embed@1.0.0 plugin generates video element fallback HTML by inserting image alt text via unescaped string replacement, bypassing the markdown-it html:false safety setting because plugin-generated output is never subject to that guard. An attacker controlling a federated Lemmy instance or holding approved-member status can store the payload, and any viewer who renders it on a deployment lacking Content-Security-Policy headers will execute attacker JavaScript in the lemmy-ui origin. No public exploit identified at time of analysis; EPSS data not provided in source intelligence.
RemediationAI
Upgrade lemmy-ui to version 0.19.19-beta.1 or later, as confirmed by the vendor advisory at https://github.com/LemmyNet/lemmy/security/advisories/GHSA-2g66-9fr3-ppwj and corroborated by the tagged release at https://github.com/LemmyNet/lemmy/releases/tag/0.19.19-beta.1. The fix replaces markdown-it-html5-embed@1.0.0 with markdown-it-html5-media@0.8.0 in package.json and updates src/shared/markdown.ts accordingly (commit 81a3fe07f2a5acc11188320534aa6bf937ebf7ff). For deployments that cannot upgrade immediately, the vendor confirms that serving a Content-Security-Policy response header blocks the described exploit - a policy such as Content-Security-Policy: default-src 'self'; script-src 'self' will prevent inline script execution from the injected payload. Operators should test CSP in staging first, as overly strict policies may break legitimate inline styles, third-party media embeds, or other frontend features. Note that the upstream fix (PR/commit) is confirmed to exist; the 0.19.19-beta.1 release carries a beta designation and administrators should evaluate stability before promoting to production.
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
Lemmy-ui processes user-supplied markdown through markdown-it configured with html:false in src/shared/markdown.ts. The html:false setting prevents raw HTML passthrough from user input, but it does not apply to HTML emitted by registered plugins. The markdown-it-html5-embed@1.0.0 plugin was registered with useImageSyntax:true, causing image-syntax tokens () targeting video MIME types to be transformed into HTML video elements. The plugin constructed the video element's fallback content by concatenating the alt attribute text without HTML-entity encoding, meaning a crafted alt value containing script tags or event handlers reached the DOM intact. Inferno then injected this plugin-emitted HTML via a raw __html object, with no sanitizer pass interposed. Affected rendering paths are mdToHtml (used for post bodies, comment bodies, private messages, community sidebars, and site sidebars); the mdToHtmlNoImages path was not affected. The root cause class is CWE-79 (Improper Neutralization of Input During Web Page Generation). The fix, confirmed in PR #4213, replaces markdown-it-html5-embed@1.0.0 with markdown-it-html5-media@0.8.0, which does not exhibit the unescaped alt-text substitution. CPE: cpe:2.3:a:lemmynet:lemmy:*:*:*:*:*:*:*:*.
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:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N
PR:L because exploitation requires approved membership or control of a federated server; UI:R because victim must browse to malicious content; S:C with C:H/I:H for session hijacking and authenticated action abuse.
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 lemmy-ui 0.19.19-beta.1, LemmyNet/lemmy-ui renders Markdown in src/shared/markdown.ts for post bodies, comment bodies, private messages, and community and site sidebars through mdToHtml, which returns a raw __html object that Inferno injects without a sanitizer pass. setupMarkdown configures html as false but registers markdown-it-html5-embed@1.0.0 with useImageSyntax enabled, so an image targeting video media becomes a video element whose fallback incorporates the image alt text through unescaped string replacement. The html setting does not apply to plugin-generated output, allowing crafted alt text to reach the DOM as live HTML in contexts that do not use mdToHtmlNoImages. An approved member or a remote federated instance can store such content, and a viewer who renders it may execute JavaScript in the lemmy-ui origin, exposing the viewer's session and authenticated actions. The advisory notes that Content Security Policy prevents the described exploit in production, but also states that the tested default self-hosted deployment serves no Content-Security-Policy. This issue is fixed in lemmy-ui version 0.19.19-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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Username enumeration in Lemmy's login endpoint allows unauthenticated remote attackers to confirm whether a given userna
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
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-62848
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB