CVE-2021-21693: Multiple vulnerabilities allow bypassing path filtering of agent-to-controller access control in Jenkins
9.1
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.77409%
CWE
Published
5/24/2022
Updated
12/7/2023
KEV Status
No
Technology
Java
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
org.jenkins-ci.main:jenkins-core | maven | >= 2.304, <= 2.318 | 2.319 |
org.jenkins-ci.main:jenkins-core | maven | < 2.303.3 | 2.303.3 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability (CVE-2021-21693) stems from improper authorization checks during temporary file/directory creation. The commit diff shows removal of deserialization guards (REJECT_LOCAL_CALLABLE_DESERIALIZATION and readResolve) for Mkdirs and Touch callables, which are executed when agents request file operations on the controller. Prior to the fix, these operations likely created files/directories first and then performed checks, violating the 'check-before-use' principle. The advisory explicitly cites SECURITY-2539, which addresses this flaw by enforcing pre-creation checks. The removed code suggests these callables were previously restricted but improperly validated during execution, leading to post-creation authorization bypasses.