Description
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.
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
Metasploit 1 module
-
Jenkins CLI Deserialization
exploit/linux/http/jenkins_cli_deserialization
Exploit-DB 1
- CloudBees Jenkins 2.32.1 - Java Deserialization EDB-41965 · dos · May 5, 2017
GitHub 2 repositories
-
vulhub/CVE-2017-1000353 ★ 57 · Apr 12, 2019
jenkins CVE-2017-1000353 POC
-
r00t4dm/Jenkins-CVE-2017-1000353 ★ 3 · Oct 12, 2022
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Maven | org.jenkins-ci.main:jenkins-core | >= 2.50, < 2.57 | 2.57 | GHSA-26wc-3wqp-g3rp |
| Maven | org.jenkins-ci.main:jenkins-core | < 2.46.2 | 2.46.2 | GHSA-26wc-3wqp-g3rp |