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: n/a
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 Cloudinary parameters such as overwrite, type, 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 (inclusive of the pre‑fix 0.4.0). 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 is not available and the flaw is not listed in CISA KEV, indicating no known widespread exploitation. The likely attack vector involves authenticated users sending POST requests to the exposed endpoint. Once authenticated, 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 16, 2026 at 02:05 UTC.

Remediation

No vendor fix or workaround currently provided.

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 signatures.
  • Audit Cloudinary activity logs 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 signatures and issue new keys to mitigate potential replay attacks.

Generated by OpenCVE AI on September 16, 2026 at 02:05 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

No data.

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 : Received

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

Modified: 2026-09-15T20:17:24.827

Link: CVE-2026-58200

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-16T02:15:18Z

Weaknesses
  • CWE-347

    Improper Verification of Cryptographic Signature