CVE-2026-105868: Payload CMS stored XSS in XML upload handling

CVE-2026-105868 · Severity: high · CVSS 4 · Published 2026-10-06

Payload CMS is a headless content management system that allows organizations to manage content without a traditional visual interface. When a user uploads an XML file with a malicious stylesheet, the CMS can be tricked into executing JavaScript code that runs in the context of authenticated users who view the file. This could allow attackers to steal session tokens, modify content, or perform other actions on behalf of logged-in users.

Technologies: payload (npm), Payload CMS Payload. Vendors: npm, Payload CMS.

Quick answers

Is CVE-2026-105868 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-105868 being exploited in the wild.
How severe is CVE-2026-105868?
High severity, with a CVSS score of 4, published 6 October 2026.
Which products and versions are affected?
payload (npm) SEMVER:introduced=0,fixed=3.90.0; Payload CMS Payload before 3.90.0; canary versions before 4.0.0-canary.34.
Is there a fix for CVE-2026-105868?
Yes. payload (npm): upgrade to 3.90.0 or later. Until then: Verify affected upload and XML-delivery workflows after upgrading. If the previous behavior is explicitly required, set allowRestrictedFileTypes: true in the collections upload property. Implement stricter validation for SVG, XHTML, and XML-family file uploads and ensure custom upload clients send required metadata.</anigation> <parameter name="timeline">[{"kind":"disclosed","at":"2026-10-06"},{"kind":"patched","at":"2026-09-18"}] Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-105868 attacked?
It is attacked over the network, in a web application.
Am I affected by CVE-2026-105868?
Check whether you run payload (npm) or Payload CMS Payload at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • payload (npm): upgrade to 3.90.0 or later
    npm install payload@3.90.0

Verify affected upload and XML-delivery workflows after upgrading. If the previous behavior is explicitly required, set allowRestrictedFileTypes: true in the collections upload property. Implement stricter validation for SVG, XHTML, and XML-family file uploads and ensure custom upload clients send required metadata.</anigation> <parameter name="timeline">[{"kind":"disclosed","at":"2026-10-06"},{"kind":"patched","at":"2026-09-18"}]

Technical details

The vulnerability is a stored cross-site scripting (XSS) issue in local XML file upload handling. An attacker can upload an XML file paired with a stylesheet that executes arbitrary JavaScript in the Payload origin when an authenticated user opens or views the file. The flaw requires an authenticated attacker to upload the malicious file and a logged-in user to access it; the fix validates upload identity and implements Content Security Policy for XML delivery.

Affected products

  • Payload CMS Payload before 3.90.0; canary versions before 4.0.0-canary.34

Identifiers

  • CVE-2026-105868
  • GHSA-9qpg-3cf8-w33x

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.