CVE-2017-1000353 in Communications Cloud Native Core Automated Test Suiteinfo

Summary

by MITRE

Jenkins versions 2.56 and earlier as well as 2.46.1 LTS and earlier are vulnerable to an unauthenticated remote code execution. An unauthenticated remote code execution vulnerability allowed attackers to transfer a serialized Java `SignedObject` object to the Jenkins CLI, that would be deserialized using a new `ObjectInputStream`, bypassing the existing blacklist-based protection mechanism. We're fixing this issue by adding `SignedObject` to the blacklist. We're also backporting the new HTTP CLI protocol from Jenkins 2.54 to LTS 2.46.2, and deprecating the remoting-based (i.e. Java serialization) CLI protocol, disabling it by default.

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 10/02/2025

The vulnerability identified as CVE-2017-1000353 represents a critical remote code execution flaw in Jenkins continuous integration platform versions up to 2.56 and 2.46.1 LTS. This security weakness stems from insufficient protection mechanisms within Jenkins' command-line interface implementation, specifically targeting the deserialization process of Java objects. The vulnerability allows attackers to execute arbitrary code on affected Jenkins servers without requiring authentication, making it particularly dangerous for environments where Jenkins is exposed to untrusted networks or where administrative access is not properly restricted. The flaw manifests through the Jenkins CLI's handling of serialized Java objects, creating a pathway for malicious payload delivery that bypasses existing security measures.

The technical exploitation of this vulnerability relies on the deserialization of a malicious `SignedObject` Java object through Jenkins' CLI interface. When Jenkins processes this serialized object, it utilizes `ObjectInputStream` for deserialization, which operates without the proper safeguards that would normally prevent dangerous object reconstruction. This deserialization process occurs within the CLI protocol implementation, specifically targeting the remoting-based Java serialization mechanism that was historically used for command execution. The vulnerability exploits a weakness in Jenkins' existing blacklist protection system, which fails to adequately block `SignedObject` deserialization attempts. This bypass occurs because the blacklist mechanism does not include `SignedObject` as a prohibited class, allowing attackers to leverage this specific Java class to execute arbitrary code on the target system.

The operational impact of CVE-2017-1000353 extends beyond simple remote code execution, as it enables attackers to gain full administrative control over Jenkins servers. This compromise can lead to complete system takeover, allowing unauthorized users to modify build configurations, access sensitive source code repositories, steal credentials, and potentially use the compromised Jenkins server as a launch point for further attacks within the network infrastructure. The vulnerability's unauthenticated nature means that any user with network access to the Jenkins server can exploit it, making it particularly dangerous in environments where Jenkins is accessible from the internet or where proper network segmentation has not been implemented. Organizations relying on Jenkins for continuous integration and deployment workflows face significant risks, as the compromise of a Jenkins server can disrupt development processes and potentially expose sensitive intellectual property.

The remediation strategy for this vulnerability involves multiple layers of protection and architectural changes within Jenkins. The primary fix implements `SignedObject` class into the existing blacklist mechanism, preventing its deserialization through the CLI interface. Additionally, Jenkins developers introduced a backport of the new HTTP CLI protocol from version 2.54 to the LTS 2.46.2 release, providing a more secure alternative to the vulnerable Java serialization-based protocol. The decision to deprecate and disable the remoting-based CLI protocol by default represents a fundamental shift in Jenkins security posture, moving away from serialization-based communication methods that have historically proven vulnerable to such attacks. This remediation approach aligns with industry best practices for preventing deserialization vulnerabilities and follows the principle of least privilege by eliminating dangerous communication mechanisms. The vulnerability demonstrates the importance of comprehensive security reviews of serialization mechanisms and the need for robust protection against malicious object deserialization attacks, which are categorized under CWE-502 in the Common Weakness Enumeration framework. The attack pattern associated with this vulnerability aligns with ATT&CK technique T1059.007, specifically targeting remote code execution through serialized objects, and represents a classic example of how insecure deserialization can lead to complete system compromise in enterprise software environments.

Reservation

01/29/2018

Moderation

accepted

Entry

2

Relate

show

CPE

ready

Exploit

Download

EPSS

0.94479

KEV

yes

Activities

very low

Sources

Want to know what is going to be exploited?

We predict KEV entries!