Description
Payload Plugins is a collection of plugins designed to enhance Payload CMS. From 0.3.0 until 0.4.0, @jhb.software/payload-cloudinary-plugin deployments with clientUploads enabled expose POST /api/cloudinary-generate-signature, whose handler in cloudinary/src/getGenerateSignature.ts passes attacker-controlled body.paramsToSign directly to cloudinary.utils.api_sign_request without a key allowlist, collection policy, timestamp freshness check, or configured-folder enforcement. Any authenticated Payload user can obtain a valid Cloudinary HMAC-SHA1 signature for unauthorized parameters such as overwrite, type, notification_url, invalidate, folder, and public_id. The signature can authorize asset replacement, upload visibility changes, callbacks to attacker-selected URLs, cache invalidation, and uploads outside the intended folder. The client-visible Cloudinary API key is expected by the upload design, but the unrestricted server-side signature supplies the authorization value needed to complete these operations. This vulnerability is fixed in 0.4.0.
Published: 2026-09-15
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Unauthorized Cloudinary API Operations
Action: Immediate Patch
AI Analysis

Impact

The payload‑cloudinary‑plugin forwards client‑supplied parameters directly to cloudinary.utils.api_sign_request without filtering, freshness validation, or allowed‑list enforcement. An authenticated Payload user can thus request signatures for arbitrary Cloud, notification_url, invalidate, folder, and public_id. With the resulting HMAC‑SHA1 signature the user can trigger asset replacement, alter upload visibility, redirect callbacks to malicious URLs, invalidate caches, and upload files outside the intended folder. This gives the attacker unauthorized control over Cloudinary operations and effectively bypasses the intended permission boundaries. The weakness is a case of CWE‑347, Insecure Direct Objects Reference, caused by the lack of parameter validation and policy enforcement.

Affected Systems

The vulnerability impacts deployments of the Payload Plugins collection, specifically the payload‑cloudinary‑plugin component, from version 0.3.0 through 0.4.0 (fix). Any installation that has clientUploads enabled and exposes the /api/cloudinary‑generate‑signature endpoint is susceptible.

Risk and Exploitability

With a CVSS score of 7.1 the vulnerability is of moderate‑high severity. An EPSS score of 0.00185 (less than 1%) indicates a very low exploitation probability, and the flaw is not listed in CISA KEV, suggesting no known widespread exploitation. The likely attack vector involves authenticated users sending POST, an attacker crafts a request specifying arbitrary signing parameters, enabling them to manipulate Cloudinary assets, trigger callbacks, and perform operations that would normally require higher privileges. Because the signing routine runs on the server, the attacker need not possess the Cloudinary account credentials; the generated signature serves as the necessary authorization token.

Generated by OpenCVE AI on September 20, 2026 at 15:42 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the payload‑cloudinary‑plugin to version 0.4.0, where the signing function is guarded with an allowlist and freshness checks.
  • If an upgrade is not immediately possible, disable the clientUploads feature or block access to the /api/cloudinary‑generate‑signature endpoint for untrusted users.
  • Implement an explicit allowlist of Cloudinary parameters on the server side and enforce a timestamp freshness check before generating for unexpected callbacks or uploads that occur outside the intended folder, and investigate any suspicious signature usage.
  • Revoke any Cloudinary API keys that might have been used with the compromised attacks.

Generated by OpenCVE AI on September 20, 2026 at 15:42 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 17 Sep 2026 20:30:00 +0000

Type Values Removed Values Added
First Time appeared Jhb-software
Jhb-software payload-plugins
Vendors & Products Jhb-software
Jhb-software payload-plugins

Tue, 15 Sep 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 15 Sep 2026 16:45:00 +0000

Type Values Removed Values Added
Description Payload Plugins is a collection of plugins designed to enhance Payload CMS. From 0.3.0 until 0.4.0, @jhb.software/payload-cloudinary-plugin deployments with clientUploads enabled expose POST /api/cloudinary-generate-signature, whose handler in cloudinary/src/getGenerateSignature.ts passes attacker-controlled body.paramsToSign directly to cloudinary.utils.api_sign_request without a key allowlist, collection policy, timestamp freshness check, or configured-folder enforcement. Any authenticated Payload user can obtain a valid Cloudinary HMAC-SHA1 signature for unauthorized parameters such as overwrite, type, notification_url, invalidate, folder, and public_id. The signature can authorize asset replacement, upload visibility changes, callbacks to attacker-selected URLs, cache invalidation, and uploads outside the intended folder. The client-visible Cloudinary API key is expected by the upload design, but the unrestricted server-side signature supplies the authorization value needed to complete these operations. This vulnerability is fixed in 0.4.0.
Title @jhb.software/payload-cloudinary-plugin: Arbitrary Cloudinary API Parameter Signing
Weaknesses CWE-347
References
Metrics cvssV3_1

{'score': 7.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L'}


Subscriptions

Jhb-software Payload-plugins
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-15T19:45:35.084Z

Reserved: 2026-06-29T17:09:25.872Z

Link: CVE-2026-58200

cve-icon Vulnrichment

Updated: 2026-09-15T18:57:43.553Z

cve-icon NVD

Status : Deferred

Published: 2026-09-15T17:17:23.113

Modified: 2026-09-30T17:51:56.193

Link: CVE-2026-58200

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-20T15:45:17Z

Weaknesses
  • CWE-347

    Improper Verification of Cryptographic Signature