CVE-2026-34750
JavaScript vulnerability analysis and mitigation

Overview

CVE-2026-34750 is a path traversal vulnerability (CWE-22) in Payload CMS's client-upload signed-URL endpoints affecting the @payloadcms/storage-azure, @payloadcms/storage-gcs, @payloadcms/storage-r2, and @payloadcms/storage-s3 npm packages. The flaw allows authenticated attackers to craft malicious filenames that escape the intended storage location when uploading files via signed URLs. All Payload CMS installations using these storage adapters at versions prior to 3.78.0 are affected. The vulnerability was published on March 30, 2026, and assigned CVE-2026-34750 on April 1, 2026, with a CVSS v3.1 base score of 6.5 (Medium) (Github Advisory, Payload Advisory).

Technical details

The root cause is insufficient input sanitization (CWE-22) in the filename handling logic of client-upload signed-URL endpoints across all four supported cloud storage adapters (S3, GCS, Azure Blob Storage, and Cloudflare R2). When a client requests a signed upload URL, the filename supplied by the user is not properly validated or sanitized before being used to construct the storage path, enabling path traversal sequences (e.g., ../, URL-encoded variants, or alternate slash encodings) to resolve to locations outside the intended storage directory. Exploitation requires the attacker to have low-privilege authenticated access to the upload endpoint and no user interaction. No public proof-of-concept code has been identified at this time (Github Advisory, Payload Advisory).

Impact

Successful exploitation allows an authenticated attacker to upload files to unintended locations within the cloud storage backend, potentially overwriting existing files in restricted directories or placing malicious content in sensitive paths. The primary impact is to integrity (rated High), as confidentiality and availability are not directly affected by this vulnerability. In environments where multiple users have upload capabilities, this could be leveraged to corrupt application data, overwrite configuration or static assets, or disrupt the integrity of the file storage system (Github Advisory, Feedly).

Exploitability

There is no evidence of active in-the-wild exploitation or a publicly available proof-of-concept exploit at this time. The EPSS score is approximately 0.028% (8th percentile), indicating a low near-term exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires low-privilege authenticated access, which limits the attack surface compared to unauthenticated vulnerabilities, but environments with broad user upload permissions remain at elevated risk (Github Advisory, Feedly).

Exploitation steps

  1. Reconnaissance: Identify a Payload CMS instance running a version prior to 3.78.0 that uses one or more of the affected storage adapters (@payloadcms/storage-s3, @payloadcms/storage-gcs, @payloadcms/storage-azure, or @payloadcms/storage-r2) with client-upload signed-URL endpoints exposed.
  2. Authentication: Obtain low-privilege credentials (e.g., a standard user account) that have access to the file upload functionality.
  3. Craft malicious filename: Construct a filename containing path traversal sequences such as ../../restricted-directory/malicious-file.ext, URL-encoded variants (%2e%2e%2f), or alternate encodings to bypass any basic filtering.
  4. Request signed URL: Submit a request to the client-upload signed-URL endpoint with the crafted filename to obtain a pre-signed upload URL pointing to the traversed storage path.
  5. Upload malicious file: Use the returned signed URL to upload a file directly to the unintended storage location, potentially overwriting existing files or placing content in restricted directories (Github Advisory, Payload Advisory).

Indicators of compromise

  • Network: Requests to client-upload signed-URL endpoints containing path traversal sequences (../, %2e%2e%2f, %2f, or double-encoded variants) in filename parameters; signed URL requests resolving to storage paths outside the expected upload directory.
  • Logs: Application or web server logs showing upload requests with filenames containing .., %2e, or slash-encoded characters; signed URL generation events for paths outside the configured storage prefix.
  • File System / Storage: Unexpected files appearing in restricted or non-upload directories within the S3 bucket, GCS bucket, Azure Blob container, or R2 bucket; modification timestamps on files in sensitive directories that do not correspond to legitimate operations.
  • Process/Application: Anomalous upload activity from low-privilege user accounts, particularly targeting paths outside the standard upload directory structure (Github Advisory).

Mitigation and workarounds

Upgrade all affected Payload CMS storage adapter packages to version 3.78.0 or later: @payloadcms/storage-azure, @payloadcms/storage-gcs, @payloadcms/storage-r2, and @payloadcms/storage-s3. Version 3.78.0 introduces hardened filename validation for client uploads. As an interim workaround for organizations unable to upgrade immediately, restrict access to client-upload signed-URL endpoints to trusted users only, and implement additional server-side filename validation as a defense-in-depth measure. Monitor cloud storage locations for suspicious files or unauthorized access patterns (Github Advisory, Payload Advisory).

Additional resources


SourceThis report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-59160HIGH8.8
  • JavaScript logoJavaScript
  • @yeger/turbo-graph
NoYesSep 09, 2026
CVE-2026-59179HIGH8.3
  • JavaScript logoJavaScript
  • @openhop/server
NoYesSep 09, 2026
GHSA-x7m8-jrm8-hpvxHIGH8.1
  • JavaScript logoJavaScript
  • @eigenpal/docx-editor-core
NoYesSep 10, 2026
CVE-2026-59176HIGH7.8
  • JavaScript logoJavaScript
  • functype-mcp-server
NoYesSep 09, 2026
CVE-2026-59158HIGH7.5
  • JavaScript logoJavaScript
  • nuxt-ollama
NoYesSep 09, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management