Skip to main content
Mallory
HighPublic exploit

Jenkins config.xml deserialization leading to impersonation, file read, and potential RCE

IdentifiersCVE-2026-53435CWE-502· Deserialization of Untrusted Data

CVE-2026-53435 (Jenkins SECURITY-3707) is a deserialization vulnerability in Jenkins affecting weekly 2.567 and earlier and LTS 2.555.2 and earlier. Jenkins deserializes attacker-controlled XML submitted via config.xml endpoints using XStream, while allowing classes from Jenkins core and installed plugins under its deserialization filter model. In vulnerable versions, an attacker can cause Jenkins to deserialize arbitrary allowed types from Jenkins core or plugins into configuration object graphs in a way that leaves those objects reachable through Stapler HTTP routing afterward. The provided analysis describes exploitation by planting an unexpected Jenkins-core object such as hudson.Plugin$DummyImpl into a deserialized container like a ListView properties collection, then reaching that object over a routed URL. Because that object inherits HTTP-callable behavior, it can be abused to serve files from a file:/ base path on the controller. The vendor advisory states this can be used to impersonate any user and send HTTP requests on their behalf, including access to the Script Console for arbitrary code execution, and to read arbitrary files from the Jenkins controller.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation can give an attacker high-impact control over the Jenkins controller. Documented outcomes include impersonation of any Jenkins user, the ability to issue HTTP requests as that user, arbitrary file read from the controller filesystem, and potential arbitrary code execution through access to the Jenkins Script Console. Given Jenkins' central role in CI/CD environments, compromise can also expose credentials, SSH keys, build secrets, and create downstream software supply-chain risk. The CVSS context provided indicates high confidentiality, integrity, and availability impact.

Mitigation

If you can’t patch tonight, do this now.

If immediate patching is not possible, restrict network access to the Jenkins controller, especially from untrusted networks and low-trust users; minimize or temporarily disable access to endpoints that accept config.xml submissions where operationally feasible; review and reduce permissions such as Overall/Read combined with View/Configure, Item/Configure, or Agent/Configure; audit user accounts and Script Console activity for abuse; and inspect logs for indicators noted in the supplied content, including POST requests involving createView/config.xml with unexpected types such as DummyImpl or baseResourceURL followed by GET requests to /view//properties/0/. These are temporary risk-reduction measures only; patching is the required fix.

Remediation

Patch, then assume compromise.

Upgrade Jenkins to a fixed release: Jenkins 2.568 or Jenkins LTS 2.555.3 or later. The supplied content states the fix changes config.xml handling to deserialize and then re-serialize objects before writing them to disk, stripping unexpected types from containers, and adds stricter routing checks before Stapler can dispatch requests into deserialized objects. All affected controllers running 2.567 and earlier or LTS 2.555.2 and earlier should be updated immediately.
PUBLIC EXPLOITS

Exploits

1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.

VALID 1 / 1 TOTALView more in app
CVE-2026-53435MaturityPoCVerified exploit

Repository contains a working Python proof-of-concept for CVE-2026-53435 against Jenkins, plus a self-contained Docker lab for vulnerable and patched instances. The main exploit file, exploit_cve_2026_53435_v2.py, authenticates to Jenkins with HTTP Basic Auth, optionally retrieves a CSRF crumb from /crumbIssuer/api/json, verifies identity via /whoAmI/api/json, and submits crafted XML to either /createView?name=<name> or /view/<name>/config.xml. The XML injects a hudson.Plugin$DummyImpl object into a ListView <properties> DescribableList using a pre-patch type-enforcement weakness. The injected object embeds baseResourceURL=file:/, and the exploit then triggers Stapler routing with GET /view/<name>/properties/0/<requested path> to return arbitrary controller-local file contents such as /etc/passwd. Exploit capability is authenticated arbitrary file read on the Jenkins controller. The README notes broader impact such as impersonation and Script Console RCE exists conceptually, but those chains are intentionally withheld and are not implemented in the analyzed exploit. Therefore this repository is a real exploit, not merely a detector, and its maturity is OPERATIONAL: it includes a concrete payload and end-to-end exploitation logic, but not a generalized framework. Repository structure: README.md documents the vulnerability, affected/fixed versions, usage, and validation against vulnerable 2.555.2 versus patched 2.555.3. exploit_cve_2026_53435_v2.py is the primary entry point and only active exploit code. The lab/ directory provides reproducible infrastructure: Dockerfile and docker-compose.yml spin up vulnerable Jenkins, patched Jenkins, and an OOB listener; init.groovy.d/01-setup.groovy provisions admin and lowpriv users with matrix-auth permissions; candidates.txt and lab/README.md describe additional lab-only discovery/canary workflows, but those referenced scripts are not present in this repository. Overall, the repo’s purpose is to demonstrate and reproduce authenticated Jenkins deserialization leading to arbitrary file read via malicious view configuration and routable core object injection.

AmesianXDisclosed Jun 12, 2026pythongroovywebnetwork
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
JenkinsJenkinsapplication

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence1

Every observed campaign linking this CVE to a named adversary.

Associated malware

Malware families riding this exploit, with evidence and IOCs.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity14

Community discussion across Reddit, Mastodon, and other social sources.