# CVE-2026-105861: Payload CMS credential exposure via unvalidated external URL redirect

Source: https://junglewise.ai/threats/cve-2026-105861-payload-is-a-free-and-open-source-headless-content-management  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-06. Updated: 2026-10-06  
License: CC BY 4.0 with a link back

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

Payload is a headless content management system that allows authenticated users to retrieve files from external URLs. In affected versions, when an external URL redirects to a different destination, Payload automatically forwards the user's session credentials to the redirected location without verifying it is trusted. An attacker could trick a user into uploading a file that redirects to an attacker-controlled server, capturing the valid session cookie.

Technologies: [payload (npm)](https://junglewise.ai/threats/technologies/payload), [Payload CMS Payload](https://junglewise.ai/threats/technologies/payload-cms-payload). Vendors: [npm](https://junglewise.ai/threats/vendors/npm), [Payload CMS](https://junglewise.ai/threats/vendors/payload-cms).

## Quick answers

**Is CVE-2026-105861 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-105861 being exploited in the wild.

**How severe is CVE-2026-105861?** High severity, with a CVSS score of 4, published 6 October 2026.

**Which products and versions are affected?** payload (npm) SEMVER:introduced=3.0.0,fixed=3.90.0; Payload CMS Payload after 3.0.0 and before 3.90.0.

**Is there a fix for CVE-2026-105861?** Yes. payload (npm): upgrade to 3.90.0 or later. Until then: Configure a narrow upload.skipSafeFetch allowlist for trusted destinations, and avoid setting skipSafeFetch: true unless all URLs in the collection are from trusted sources. Ensure serverURL is configured and the application origin is added to CORS/CSRF configuration for same-origin validation. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-105861 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-105861?** 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

  ```sh
  npm install payload@3.90.0
  ```


Configure a narrow upload.skipSafeFetch allowlist for trusted destinations, and avoid setting skipSafeFetch: true unless all URLs in the collection are from trusted sources. Ensure serverURL is configured and the application origin is added to CORS/CSRF configuration for same-origin validation.

## Technical details

The vulnerability exists in the external URL-based file upload retrieval mechanism, where authentication data (session cookies) are forwarded to HTTP redirect destinations without origin validation. An authenticated user uploading a file from an external URL that performs an HTTP redirect can leak their session credentials to an unverified destination. The fix adds origin validation via getRequestOrigin utility to ensure only same-origin redirects receive authentication headers.

## Affected products

- Payload CMS Payload after 3.0.0 and before 3.90.0

## Identifiers

- CVE-2026-105861
- GHSA-pj5h-5q6c-3pfx

## Timeline

- 2026-10-06: disclosed
- 2026-09-18: patched

## References

- [https://github.com/payloadcms/payload/commit/ba5cf6ae20d27a2c15106cb37466419031f86e6d](https://github.com/payloadcms/payload/commit/ba5cf6ae20d27a2c15106cb37466419031f86e6d)
- [https://github.com/payloadcms/payload/releases/tag/v3.90.0](https://github.com/payloadcms/payload/releases/tag/v3.90.0)

## Related threats

- [Payload CMS stored XSS in XML upload handling](https://junglewise.ai/threats/cve-2026-105868-payload-is-a-free-and-open-source-headless-content-management)
- [Payload CMS account lockout denial of service](https://junglewise.ai/threats/cve-2026-105866-payload-is-a-free-and-open-source-headless-content-management)
- [Payload CMS path traversal in file deletion](https://junglewise.ai/threats/cve-2026-105865-payload-is-a-free-and-open-source-headless-content-management)
- [Payload CMS authentication token tampering via reserved JWT fields](https://junglewise.ai/threats/cve-2026-105863-payload-is-a-free-and-open-source-headless-content-management)
- [Payload CMS stored XSS in SVG upload sanitization](https://junglewise.ai/threats/cve-2026-105862-payload-is-a-free-and-open-source-headless-content-management)
