{"id":"CVE-2026-58200","summary":"@jhb.software/payload-cloudinary-plugin: Arbitrary Cloudinary API Parameter Signing","details":"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.","aliases":["GHSA-h5x8-xp6m-x6q4"],"modified":"2026-09-17T03:46:54.190668081Z","published":"2026-09-15T16:27:26.459Z","database_specific":{"cwe_ids":["CWE-347"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/58xxx/CVE-2026-58200.json","cna_assigner":"GitHub_M"},"references":[{"type":"WEB","url":"https://github.com/jhb-software/payload-plugins/releases/tag/cloudinary@0.4.0"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/58xxx/CVE-2026-58200.json"},{"type":"ADVISORY","url":"https://github.com/jhb-software/payload-plugins/security/advisories/GHSA-h5x8-xp6m-x6q4"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-58200"},{"type":"FIX","url":"https://github.com/jhb-software/payload-plugins/commit/da2325901c5eeced17d33a1b2e647e300b8cbff2"},{"type":"FIX","url":"https://github.com/jhb-software/payload-plugins/pull/155"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/jhb-software/payload-plugins","events":[{"introduced":"004270e7a9bb2b39c41149e96c04657a00edf3cb"},{"fixed":"da2325901c5eeced17d33a1b2e647e300b8cbff2"},{"fixed":"829dce5c773bccdff87fb237b46b97502f0ec11f"}],"database_specific":{"source":["AFFECTED_FIELD","REFERENCES"],"extracted_events":[{"introduced":"0.3.0"},{"fixed":"0.4.0"}]}}],"versions":["content-translator@0.6.0","cloudinary@0.4.1","pages@0.9.0-beta.4","alt-text@0.11.0","admin-search@0.4.0","pages@0.9.0-beta.3","vercel-deployments@0.3.2","content-translator@0.5.0","alt-text@0.10.0","pages@0.9.0-beta.2","pages@0.9.0-beta.1","pages@0.9.0-beta.0","alt-text@0.9.1","astro-payload-richtext-lexical@0.3.4","chat-agent@0.1.0-beta.9","astro-payload-richtext-lexical@0.3.3","content-translator@0.4.0","alt-text@0.9.0","content-translator@0.3.0","alt-text@0.8.0","cloudinary@0.4.0","vercel-deployments@0.3.1","chat-agent@0.1.0-beta.8","alt-text@0.7.0","alt-text@0.6.1","chat-agent@0.1.0-beta.7","chat-agent@0.1.0-beta.6","pages@0.8.0","cloudinary@0.3.4","chat-agent@0.1.0-beta.5","alt-text@0.6.0","vercel-deployments@0.3.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-58200.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L"}]}