Stored XSS in Lychee gallery view through Markdown javascript links
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Active
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-79.
Summary
Lychee before 7.6.0 does not block javascript URIs in Markdown album and photo descriptions, so the gallery views render them as clickable links. An authenticated user with album-edit permissions can store such a link, and a visitor who clicks it, including on a public album, runs attacker-controlled JavaScript in the Lychee origin that can expose session data.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
Lychee is a free, open-source photo-management tool. Prior to 7.6.0, Lychee permits an authenticated user with album-edit permissions to store a javascript URI in an album or photo Markdown description because config/markdown.php enables allow_unsafe_links. app/Http/Resources/Models/Utils/PreformattedPhotoData.php and app/Http/Resources/Models/Utils/PreFormattedAlbumData.php convert the description to HTML, and the gallery components PhotoDetails.vue, Overlay.vue, PhotoThumb.vue, AlbumHero.vue, and AlbumCard.vue render that HTML with v-html. A visitor, including an unauthenticated visitor to a public album, who clicks the rendered link executes attacker-controlled JavaScript in the Lychee origin, which can expose session data or enable authenticated requests in the victim's context. This gallery-view flaw is distinct from CVE-2026-33738, which addressed feed rendering. This issue is fixed in version 7.6.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
Update Lychee to version 7.6.0, which fixes this issue.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
- Fix · CNA Lychee (LycheeOrg) Fixed in 7.6.0
Timeline
- 2026-10-16 Threatist record created from CVE-2026-57568
- 2026-10-16 Priority changed: MEDIUM → LOW
- 2026-10-16 CISA SSVC decision points changed
References
More LycheeOrg vulnerabilities
- TI-2026-74843 Album password bypass in Lychee ZIP downloads CVSS 4.0HIGH 8.2
- TI-2026-74842 Missing rate limiting in Lychee album unlock allows password guessing CVSS 3.1HIGH 7.5
- TI-2024-16953 Cross-site Request Forgery (CSRF) vulnerability in Lychee version 3.1.6, allows remote… CVSS 3.1HIGH 8.3
- TI-2026-74848 Lychee webshop checkout lets buyers override payment amount CVSS 4.0HIGH 8.3
- TI-2026-74845 Payment bypass in Lychee webshop through unrestricted Dummy gateway CVSS 4.0HIGH 8.3
- TI-2026-74846 Uncontrolled resource consumption in Lychee PDF processing CVSS 4.0HIGH 7.1
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences