GPU VulnDB

Database/Control plane, storage & DevOps

Jenkins Publish to Bitbucket Plugin: low-privilege users can make Jenkins send stored credentials to an attacker URL

CVSS 5.4CVE-2025-64149Control plane, storage & DevOps+1 more CVEscurated

Impact

The plugin lets a caller ask Jenkins to connect to an arbitrary URL using an arbitrary stored credentials ID, which sends the secret to a destination the attacker controls. Jenkins advisory SECURITY-3576 splits this across two ids: CVE-2025-64149 for the CSRF path (no account needed, a victim with permission only has to load a page) and CVE-2025-64150 for the missing permission check that lets any user with Overall/Read do it directly. Same plugin, same advisory, same fix, same action for an operator. On a CI controller that builds GPU images and pushes to registries, the credentials at risk are typically registry tokens, cloud service accounts and git deploy keys, so a successful capture converts read-only Jenkins access into supply-chain write access against the fleet's images.

Who can reach it

Network. For the missing permission check, any authenticated user with Overall/Read. For the CSRF variant, no Jenkins account at all - an unauthenticated attacker only needs a user with the relevant permission to visit a crafted page. Both require knowing or guessing a credentials ID, obtainable by other means.

What to do

Update Jenkins Publish to Bitbucket Plugin past 0.4 and restart the Jenkins controller. The advisory names no fixed version, so if no fixed release is available, uninstall the plugin - it is a publisher step, not core - and rotate any credentials whose IDs could have been referenced, since the plugin leaks the secret rather than a hash. Audit controller egress logs for connections to unexpected hosts.

Also covers 1 CVE

The vendor assigned a separate id to each affected code path. They share this advisory, this score and this fix, so they are one entry here.

CVE-2025-64150

References

Related entries

All Control plane, storage & DevOps entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.