Jenkins, a widely used automation server for continuous integration and continuous delivery (CI/CD) processes, has fallen prey to a critical vulnerability that could potentially wreak havoc on software development pipelines. This vulnerability, tracked as “CVE-2024–23897” and assigned a CVSS score of 9.8, allows threat actors to execute remote code on vulnerable Jenkins servers.
⏰ Time to Act! Patch Now to Protect Your Servers ⏰
The severity of this vulnerability cannot be overstated. Threat actors could exploit it to gain unauthorized access to sensitive data, disrupt software development workflows, or even take control of entire systems. Don’t wait for an attack to happen; take action now to patch your Jenkins servers and safeguard your organization’s security.
⚠️ The Threat at Hand: Arbitrary File Read Vulnerability ⚠️
At the root of this vulnerability lies a default-enabled parser feature, ‘expandAtFiles,’ within the Jenkins CLI (Command-line Interface). This feature, while intended for convenience, inadvertently exposes a backdoor for attackers to exploit. By manipulating the ‘expandAtFiles’ feature, malicious actors can gain unauthorized access to the Jenkins file system, paving the way for remote code execution (RCE) attacks.
🔎 Assessing the Severity: A CVSS Score of 9.8 🔎
The CVSS (Common Vulnerability Scoring System) score of 9.8 for CVE-2024–23897 signifies an extremely high severity. This means that the vulnerability has a high probability of being exploited successfully, with severe consequences.
🕵️♀️ Exploiting the Flaw: A Comprehensive Overview 🕵️♀️
Once an attacker has successfully exploited the ‘expandAtFiles’ feature, they gain access to the Jenkins file system through the args4j library. This library, used for parsing command-line arguments, inadvertently allows attackers to read arbitrary files on the Jenkins server.
The impact of this vulnerability is further amplified by the CVSS score of 8.8 assigned to two additional vulnerabilities, CVE-2024–23898 and CVE-2024–23899. These vulnerabilities enable attackers to hijack WebSocket connections and read arbitrary files, respectively, further expanding their attack surface.
⚠️ Exploiting Permissions: Who’s Vulnerable? ⚠️
The extent of exploitation of this vulnerability depends on the attacker’s level of access to the Jenkins server. Individuals with Overall/Read permission can read entire files, while those with lesser permissions can access the first few lines of files.
🔑 Protecting Your Systems: Proactive Measures 🔑
To safeguard your Jenkins servers from this critical vulnerability and its related threats, immediate action is crucial. Here are the essential steps to take:
Upgrade to Jenkins 2.442 or LTS 2.426.3: These versions have the CVE-2024–23897 vulnerability patched by disabling the ‘expandAtFiles’ feature.
Review and update plugins regularly: Vulnerable plugins could reintroduce the vulnerability. Regularly review your plugins and update them to the latest versions.
Implement strong access controls: Enforce strict access controls to limit the number of individuals with Overall/Read permission on your Jenkins servers.
Educate your team: Ensure your team is aware of the vulnerability and the importance of patching and maintaining secure Jenkins configurations.
Additional Resources:
Jenkins Security Advisory — 2024–01–24: https://www.jenkins.io/security/advisory/2024-01-24/
Trustifi Free Threat Scan: https://trustifi.com/threatscan/report/download/