CVE-2018-1000861 is a remote code execution vulnerability in the Stapler web framework used by Jenkins weekly releases through 2.153 and LTS releases through 2.138.3. The vulnerability involves Stapler's MetaClass implementation and allows crafted URLs to invoke Java object methods that were not intended to be accessible through web requests. These unintended method invocations can lead to code execution. Watchbog exploited the vulnerability to deploy cryptocurrency-mining malware.
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.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
2 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos.
This 34-file repository combines a functional standalone exploit with a deliberately vulnerable Jenkins training environment. app/poc.py is the principal exploit: a Python 2 script that accepts a target URL and command, detects anonymous Jenkins read access using the 'adjuncts' response marker, attempts the CVE-2018-1000861 Stapler ACL bypass when access returns HTTP 403, and submits a hexadecimal-encoded command in a Groovy constructor to SecureGroovyScript/checkScript. Its source identifies the validation entry point with CVE-2019-1003005, while the lab and walkthrough emphasize CVE-2018-1000861. These identifiers describe the routing/validation chain rather than two independently implemented exploits. The payload performs command execution, not merely detection. It provides no built-in command-output retrieval, reverse shell, persistence, or exfiltration. HTTP 200 is treated as tentative success, HTTP 405 as a patched gadget, and HTTP 404 during probing as a missing entry point. TLS verification is disabled and requests have no explicit timeout. Runtime operation was not tested; Python 3 cannot execute this Python 2 syntax unchanged. app/ contains the exploit, bilingual walkthroughs, and upstream Compose configuration. base/jenkins/2.138/ contains the image recipe, Groovy initialization, and pinned plugins, including Script Security 1.48 and workflow-cps 2.56. Initialization creates an admin/admin account and disables the setup wizard, although the exploit does not authenticate. isoloom.yml defines one Linux/amd64 Jenkins container on port 8080. .isoloom/ contains generated Docker, Kubernetes, Vagrant, Proxmox, and six cloud-provider deployments, plus availability, version, and egress-isolation checks. checks/version.sh examines the X-Jenkins header; these checks do not verify successful exploitation. GitHub workflows validate and publish the lab. Infrastructure cleanup commands, including rm -rf, have ordinary provisioning/CI purposes and do not indicate a fake exploit. The generated environment restricts Internet egress through route removal or Kubernetes NetworkPolicies, potentially preventing outbound payload callbacks. Docker publishing defaults to loopback, cloud ingress is restricted by an operator-supplied CIDR, and Kubernetes includes a port-8080 LoadBalancer service. Kubernetes isolation depends on NetworkPolicy enforcement. Provisioning download endpoints are infrastructure dependencies, not attacker-controlled callbacks. The 16 code files counted are Python, shell, Ruby, Groovy, Terraform, and Dockerfile sources; YAML deployment and workflow configuration is additionally present. The supplied listing totals 89,243 bytes of individual file sizes, but no archive size, original repository URL, analyzed repository ref, or archive path was supplied. Repository URL/ref are therefore blank and archive size is represented as 0 (unknown). UPSTREAM.md records vendored Vulhub commit 8fd63916f7a8711e2e01dda0d27237e4d6175d38; that is upstream provenance, not evidence of the analyzed repository's own commit. Isoloom is lab orchestration tooling, not an exploit framework.
This repository contains a Metasploit module (jenkins_metaprogramming.rb) that exploits multiple vulnerabilities in Jenkins (CVE-2018-1000861, CVE-2019-1003000, CVE-2019-1003001, CVE-2019-1003002, CVE-2019-1003005, CVE-2019-1003029) to achieve unauthenticated remote code execution (RCE) by bypassing the Overall/Read ACL and leveraging Groovy metaprogramming. The exploit targets Jenkins version 2.137 and below, specifically when the Pipeline: Groovy Plugin 2.61 is installed. It provides two main attack vectors: (1) Unix In-Memory, which executes arbitrary shell commands in memory, and (2) Java Dropper, which delivers and executes a malicious JAR file via Groovy's @Grab annotation. The module is highly weaponized, allowing the attacker to select payloads (reverse shell, Meterpreter, etc.) and automatically handles the delivery and execution of the payload. The main endpoints targeted are Jenkins HTTP API routes related to user search and Groovy script compilation. The code is structured as a typical Metasploit module, with clear separation of check, exploit, and payload delivery logic.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
9 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A vulnerability in Jenkins' Stapler web framework exploited to execute malicious commands on Jenkins servers. Watchbog used it to download malicious shell scripts, install a cryptocurrency miner, and establish persistence through crontab modifications.
A Jenkins vulnerability included among WatchBog’s exploit modules for spreading and remote code execution.
A Jenkins remote code execution vulnerability that the Rocke Group malware uses to execute code on vulnerable Jenkins instances.
A Jenkins remote code execution vulnerability listed among the exploits used by Sysrv.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.