CVE-2026-54743 Lemmy: Stored XSS via markdown image alt-text in lemmy-ui html5-embed
Stored XSS in Lemmy allows attackers to execute JavaScript in viewers' browsers via crafted markdown image alt-text, potentially leading to session hijacking.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- None listed
What is CVE-2026-54743?
CVE-2026-54743 is a medium-severity cross-site scripting vulnerability in LemmyNet lemmy, published on 19 Aug 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
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 [email protected] 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.
Weakness: CWE-79
Which versions are affected by CVE-2026-54743?
How do I fix CVE-2026-54743?
No fix has been published for CVE-2026-54743 yet. Limit exposure of the affected software until one is available.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2026-54743 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-54743 exists.
Sources
Also known as GHSA-2g66-9fr3-ppwj.