Jenkins Credentials Binding Plugin has Insufficiently Protected Credentials
Moderate severity
GitHub Reviewed
Published
May 13, 2022
to the GitHub Advisory Database
•
Updated Dec 28, 2023
Package
Affected versions
< 1.15
Patched versions
1.15
Description
Published by the National Vulnerability Database
Feb 9, 2018
Published to the GitHub Advisory Database
May 13, 2022
Last updated
Dec 28, 2023
Reviewed
Dec 28, 2023
Jenkins Credentials Binding plugin allows specifying passwords and other secrets as environment variables, and will hide them from console output in builds.
However, since Jenkins will try to resolve references to other environment variables in environment variables passed to a build, this can result in values other than the one specified being provided to a build. For example, the value
p4$$w0rd
would result in Jenkins passing onp4$w0rd
, as$$
is the escape sequence for a single$
.Credentials Binding plugin does not prevent such a transformed value (e.g.
p4$w0rd
) from being shown on the build log, allowing users to reconstruct the actual password value from the transformed one.Credentials Binding plugin will now escape any
$
characters in password values so they are correctly passed to the build.This issue did apply to freestyle and other classic job types, but does not apply to Pipelines.
References