CVE-2026-117624 in Jenkins Plugininfo

Summary

by MITRE • 10/28/2026

Jenkins 2.587 and earlier, LTS 2.580.1 and earlier does not consistently enforce the restriction on deserializing objects of types marked as storing their configuration in independent top-level configuration files as nested values, allowing attackers to bypass the root element check and potentially inject nested objects.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Analysis

by VulDB Data Team • 10/28/2026

The vulnerability identified in Jenkins versions 2.587 and earlier, including LTS release 2.580.1 and prior iterations, represents a critical failure in input validation logic within the system's serialization framework. This flaw specifically targets the mechanism used to handle objects that are configured via independent top-level configuration files rather than being embedded directly within parent structures. Jenkins employs a security model designed to restrict the deserialization of arbitrary Java objects to prevent Remote Code Execution (RCE) attacks, which have historically been prevalent in Jenkins environments due to its extensive plugin ecosystem and reliance on XML-based configurations for persistence. The core issue lies in how the system validates nested data structures during the parsing process, where certain checks intended to limit object instantiation are inconsistently applied when objects are passed as nested values rather than root elements.

From a technical perspective, this vulnerability stems from an incomplete enforcement of type restrictions within the serialization handler. When Jenkins processes configuration files or API requests containing serialized Java objects, it typically performs a check against a whitelist of allowed types to ensure that only safe classes are instantiated during deserialization. However, in this specific scenario, when an object marked for independent top-level storage is nested inside another structure, the validation logic fails to consistently apply these restrictions. This inconsistency allows attackers to bypass the root element check, which serves as a primary defense layer against malicious payload injection. By exploiting this gap, an attacker can inject arbitrary nested objects that would otherwise be blocked if they were processed at the top level of the configuration file.

The operational impact of this vulnerability is severe, primarily because it facilitates unauthorized object instantiation within the Jenkins runtime environment. In Java-based applications like Jenkins, improper deserialization often leads to Remote Code Execution, as attackers can craft payloads using gadgets from common libraries such as Apache Commons Collections or Spring Framework. These gadgets exploit existing application logic to execute arbitrary commands on the underlying server with the privileges of the Jenkins process. Consequently, a successful exploitation could result in full system compromise, including data exfiltration, modification of critical configurations, and use of the compromised host for further lateral movement within the network infrastructure. This aligns directly with CWE-502, which describes Deserialization of Untrusted Data, as well as CWE-749 regarding Exposure to Dangerous Environment Variables if such variables are manipulated through injected objects.

Furthermore, this vulnerability maps to specific tactics in the MITRE ATT&CK framework, particularly T1190 Exploit Public-Facing Application and T1203 Exploitation for Client Execution. Attackers leveraging this flaw would likely target exposed Jenkins instances that have administrative access enabled or where plugins with known vulnerabilities are installed. The ability to inject nested objects effectively bypasses the intended security boundaries established by Jenkins' configuration management system, allowing malicious actors to introduce payloads that evade standard detection mechanisms focused on top-level anomalies.

Mitigation strategies must prioritize immediate patching and strict input validation practices. Organizations running affected versions of Jenkins should upgrade immediately to version 2.587 or later for the weekly release line, or LTS 2.580.2 and later for long-term support users. This update addresses the inconsistency in deserialization checks by ensuring that type restrictions are uniformly applied regardless of whether objects appear as root elements or nested values. In addition to patching, administrators should enforce least-privilege principles by disabling anonymous access and restricting administrative permissions to trusted individuals only. Implementing a Web Application Firewall (WAF) with rules specifically tuned for Jenkins serialization patterns can provide an additional layer of defense against exploitation attempts while patches are being deployed across the infrastructure. Regular audits of installed plugins and removal of unused components further reduce the attack surface by eliminating potential gadgets that could be leveraged in conjunction with this vulnerability.

Responsible

Jenkins

Reservation

10/27/2026

Disclosure

10/28/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

low

Sources

Do you know our Splunk app?

Download it now for free!