Insertion of Sensitive Information into Log File in Jenkins Configuration as Code Plugin
Moderate severity
GitHub Reviewed
Published
May 24, 2022
to the GitHub Advisory Database
•
Updated Dec 19, 2023
Description
Published by the National Vulnerability Database
Jul 31, 2019
Published to the GitHub Advisory Database
May 24, 2022
Reviewed
Jun 28, 2022
Last updated
Dec 19, 2023
Configuration as Code Plugin logs the changes it applies to the Jenkins system log. Secrets such as passwords should be masked (i.e. replaced with asterisks) in that log to prevent accidental disclosure.
Between Configuration as Code Plugin 0.8-alpha and 1.0, log messages contained values if the values were specified using properties in the YAML file (SECURITY-929).
Since Configuration as Code Plugin 1.1, log messages in Configuration as Code Plugin instead mask values of type
Secret, which is used in Jenkins to store the values encrypted on disk. This did not work in many instances, as plugins could use theSecrettype to store credentials encrypted on disk while not having the Secret type appear in their Java API.Configuration as Code Plugin now inspects the type and looks for a field, getter, or constructor argument corresponding to the property, making the secret detection much more robust for the purpose of log message masking. As a workaround, administrators can configure the logging level of the logger
io.jenkins.plugins.casc.Attributeto a level that does not includeINFOmessages. See the logging documentation for details.References