CVE-2026-58200: @jhb.software/payload-cloudinary-plugin: Arbitrary Cloudinary API Parameter Signing

Published Sep 15, 2026
·
Updated

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.apisignrequest 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, notificationurl, invalidate, folder, and publicid. 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.

Affected Software

1 affected component
npm/@jhb.software/payload-cloudinary-plugin>=0.3.0<0.4.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade @jhb.software/payload-cloudinary-plugin to a version that resolves this vulnerability.

    Fixed in 0.4.0

Event History

Sep 15, 2026
CVE Published
via MITRE·04:27 PM
Data Sourced
via MITRE·04:27 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who can exploit this issue?

Any authenticated Payload user can request signatures for attacker-controlled Cloudinary API parameters when clientUploads is enabled. The issue is exposed through the POST /api/cloudinary-generate-signature endpoint.

2

Are deployments using the default upload flow affected?

Deployments are affected when they use @jhb.software/payload-cloudinary-plugin versions from 0.3.0 up to, but not including, 0.4.0 and have clientUploads enabled. The client-visible Cloudinary API key alone is expected by the design; the risk comes from the server issuing unrestricted signatures.

3

What can an attacker do with a generated signature?

A valid signature can authorize unauthorized Cloudinary operations including replacing assets, changing upload visibility, sending callbacks to attacker-selected URLs, invalidating caches, and uploading outside the intended folder. Parameters identified as signable include overwrite, type, notification_url, invalidate, folder, and public_id.

4

What is the remediation?

Upgrade to version 0.4.0, which fixes the issue. If upgrading is not immediately possible, the provided data does not specify a supported workaround.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203