Improper masking of some secrets in Jenkins Credentials Binding Plugin
Low severity
GitHub Reviewed
Published
May 24, 2022
to the GitHub Advisory Database
•
Updated Dec 7, 2023
Package
Affected versions
<= 1.22
Patched versions
1.23
Description
Published by the National Vulnerability Database
May 6, 2020
Published to the GitHub Advisory Database
May 24, 2022
Reviewed
Jun 24, 2022
Last updated
Dec 7, 2023
Credentials Binding Plugin allows specifying passwords and other secrets as environment variables, and will hide them from console output in builds. As a side effect of the fix for SECURITY-698,
$
characters in secrets are escaped to$$
. This will then be expanded to $ again once the secret is passed to (post) build steps.Credentials Binding Plugin 1.22 and earlier does not mask the escaped form of the secret (containing
$$
). This occurs for example in the "Execute Maven top-level targets" build step included in Jenkins.\n\nCredentials Binding Plugin 1.23 now masks secrets both in their original form and with escaped$
characters, so they will be masked even if printed before value expansion.References