Payload: Same-origin JavaScript execution via uploaded XML files
Summary
Payload, a headless content management system, is affected in versions before 3.90.0 and in canary versions from 4.0.0-canary.0 before 4.0.0-canary.34. Under certain local upload configurations, an uploaded XML file with a stylesheet can run JavaScript in the Payload origin when a logged-in user opens the file. An attacker needs low privileges to upload the file and depends on a user opening it. XML uploads are accepted by default.
Affected
- Payload packages before 3.90.0
- Payload 4.0.0-canary versions from 4.0.0-canary.0 before 4.0.0-canary.34
Fixed in
- Payload 3.90.0
- Payload 4.0.0-canary.34
Workaround
- Disallow XML and XSL uploads in upload collections if an update cannot be applied immediately.
Exploitation
- CISA SSVC: exploitation none, automatable yes, technical impact total.
- No public proof of concept found. Not known to be exploited in the wild.
Our recommendation
- Inventory all Payload instances and versions, including staging environments.
- Update Payload packages to 3.90.0 or later, or 4.0.0-canary.34 or later for canary installations. Test the update, because upload handling changed.
- Until the update is applied, block XML and XSL uploads and review existing uploads for unexpected XML or XSL files.
- Monitor access to the admin panel and restrict who can upload files.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- GitHub Security Advisory GHSA-9qpg-3cf8-w33x github.com
- Payload release v3.90.0 github.com
- Payload fix commit a8c3a8e github.com
- OSV entry GHSA-9qpg-3cf8-w33x osv.dev
- Vulners CVE-2026-105868 vulners.com
- Payload security update for 3.x and 4.0 payloadcms.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 09:17.
Original description (NVD)
Payload is a free and open source headless content management system. In versions before 3.90.0 and canary versions before 4.0.0-canary.34, local upload configurations that accept XML files can store an XML file and stylesheet that execute JavaScript in the Payload origin when a logged-in user opens the file. This issue is fixed in versions 3.90.0 and 4.0.0-canary.34.
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
