Arbitrary file read vulnerability in Jenkins Pipeline Utility Steps Plugin
High severity
GitHub Reviewed
Published
Nov 16, 2022
to the GitHub Advisory Database
•
Updated Jan 4, 2024
Package
Affected versions
<= 2.13.1
Patched versions
2.13.2
Description
Published by the National Vulnerability Database
Nov 15, 2022
Published to the GitHub Advisory Database
Nov 16, 2022
Reviewed
Nov 21, 2022
Last updated
Jan 4, 2024
Pipeline Utility Steps Plugin implements a
readProperties
Pipeline step that supports interpolation of variables using the Apache Commons Configuration library.Pipeline Utility Steps Plugin 2.13.1 and earlier does not restrict the set of enabled prefix interpolators and bundles versions of this library that enable the
file:
prefix interpolator by default.This allows attackers able to configure Pipelines to read arbitrary files from the Jenkins controller file system.
Pipeline Utility Steps Plugin 2.13.2 restricts the set of prefix interpolators enabled by default to
base64Decoder:
,base64Encoder:
,date:
,urlDecoder:
, andurlEncoder:
.Administrators can set the Java system property
org.jenkinsci.plugins.pipeline.utility.steps.conf.ReadPropertiesStepExecution.CUSTOM_PREFIX_INTERPOLATOR_LOOKUPS
to customize which prefix interpolators are enabled.References