CVE-2026-33738 Lychee Vulnerable to Stored XSS via Photo Description in RSS/Atom/JSON Feed (No Sanitization on Public Endpoint)
Attackers can inject malicious JavaScript into photo descriptions, which executes in victims' browsers when viewing public RSS or Atom feeds.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- None listed
What is CVE-2026-33738?
CVE-2026-33738 is a medium-severity cross-site scripting vulnerability in LycheeOrg Lychee, published on 26 Mar 2026. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
Lychee is a free, open-source photo-management tool. Prior to version 7.5.3, the photo `description` field is stored without HTML sanitization and rendered using `{!! $item->summary !!}` (Blade unescaped output) in the RSS, Atom, and JSON feed templates. The `/feed` endpoint is publicly accessible without authentication, allowing any RSS reader to execute attacker-controlled JavaScript. Version 7.5.3 fixes the issue.
Weakness: CWE-79
Which versions are affected by CVE-2026-33738?
It affects 1 product.
Products include Lycheeorg Lychee.
How do I fix CVE-2026-33738?
No fix has been published for CVE-2026-33738 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-33738 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-33738 exists.
Other vulnerabilities in LycheeOrg Lychee
- CVE-2023-52082 Lychee is vulnerable to an SQL Injection in explain DB queries.
- CVE-2024-25808 Cross-site request forgery in n/a
- CVE-2024-25807 Cross-site scripting in n/a
- CVE-2021-43675 Cross-site scripting in n/a
- CVE-2026-33537 Lychee has SSRF bypass via incomplete IP validation in Photo::fromUrl — loopback and link-local IPs not blocked
Sources
Also known as GHSA-5574-7f3r-hm9j.