CVE-2021-21696: Critical severity jenkins lts vulnerability
Jenkins 2.318 and earlier, LTS 2.303.2 and earlier does not limit agent read/write access to the libs/ directory inside build directories when using the FilePath APIs. This directory is used by the Pipeline: Shared Groovy Libraries Plugin to store copies of shared libraries.
This allows attackers in control of agent processes to replace the code of a trusted library with a modified variant, resulting in unsandboxed code execution in the Jenkins controller process.
Jenkins 2.319, LTS 2.303.3 prohibits agent read/write access to the libs/ directory inside build directories.
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.
It is not easily possible to customize the file access rules to prohibit access to the libs/ directory specifically, as built-in rules (granting access to <BUILDDIR> contents) would take precedence over a custom rule prohibiting access.
Other sources
Jenkins 2.318 and earlier, LTS 2.303.2 and earlier does not limit agent read/write access to the libs/ directory inside build directories when using the FilePath APIs, allowing attackers in control of agent processes to replace the code of a trusted library with a modified variant. This results in unsandboxed code execution in the Jenkins controller process.
— MITRE
Jenkins 2.318 and earlier, LTS 2.303.2 and earlier does not limit agent read/write access to the libs/ directory inside build directories when using the FilePath APIs. This directory is used by the Pipeline: Shared Groovy Libraries Plugin to store copies of shared libraries.
References:
https://www.jenkins.io/security/advisory/2021-11-04/#SECURITY-2423
— Red Hat
Affected Software
Event History
Frequently Asked Questions
What is CVE-2021-21696?
CVE-2021-21696 is a vulnerability in Jenkins 2.318 and earlier, LTS 2.303.2 and earlier that allows attackers to replace trusted library code with a modified variant.
How severe is CVE-2021-21696?
CVE-2021-21696 has a severity score of 9.8, which is classified as critical.
What software versions are affected by CVE-2021-21696?
Jenkins versions 2.318 and earlier, LTS 2.303.2 and earlier are affected by CVE-2021-21696.
How can I fix CVE-2021-21696?
To fix CVE-2021-21696, upgrade to Jenkins version 2.319 or Jenkins LTS version 2.303.3.
Where can I find more information about CVE-2021-21696?
You can find more information about CVE-2021-21696 on the following references: - [Openwall](http://www.openwall.com/lists/oss-security/2021/11/04/3) - [Jenkins Security Advisory](https://www.jenkins.io/security/advisory/2021-11-04/#SECURITY-2423) - [Red Hat Security Advisory](https://access.redhat.com/errata/RHSA-2021:4833)