Agent-to-controller access control allows reading/writing most content of build directories in Jenkins
Critical severity
GitHub Reviewed
Published
May 24, 2022
to the GitHub Advisory Database
•
Updated Dec 18, 2023
Package
Affected versions
>= 2.304, <= 2.318
<= 2.303.2
Patched versions
2.319
2.303.3
Description
Published by the National Vulnerability Database
Nov 4, 2021
Published to the GitHub Advisory Database
May 24, 2022
Reviewed
Jun 23, 2022
Last updated
Dec 18, 2023
Agents are allowed some limited access to files on the Jenkins controller file system. The directories agents are allowed to access in Jenkins 2.318 and earlier, LTS 2.303.2 and earlier include the directories storing build-related information, intended to allow agents to store build-related metadata during build execution. As a consequence, this allows any agent to read and write the contents of any build directory stored in Jenkins with very few restrictions (
build.xml
and some Pipeline-related metadata).Jenkins 2.319, LTS 2.303.3 prevents agents from accessing contents of build directories unless it’s for builds currently running on the agent attempting to access the directory.
Update Pipeline: Nodes and Processes to version 2.40 or newer for Jenkins to associate Pipeline
node
blocks with the agent they’re running on for this fix.If you are unable to immediately upgrade to Jenkins 2.319, LTS 2.303.3, you can install the Remoting Security Workaround Plugin. It will prevent all agent-to-controller file access using
FilePath
APIs. Because it is more restrictive than Jenkins 2.319, LTS 2.303.3, more plugins are incompatible with it. Make sure to read the plugin documentation before installing it.References