CVE DatabaseCVE-2018-1000861
한국어 권고문 →
CVE-2018-10008619.8/CRITICALCISA KEVCWE-502CWE-502

Jenkins Stapler Web Framework Remote Code Execution Vulnerability Analysis and Mitigation Guide (CVE-2018-1000861)

⚡ Jump to Patch
Affected Vendors
jenkins, stapler
Affected Components
jenkins, stapler
Published Date
2018-12-10
CVSS v3.1
9.8
CRITICAL
EPSS (30d)
98.3%
FIRST.org
CISA KEV
Exploited

Executive & SecOps Summary

SECOPS ASSESSMENT
Affected Scope

Jenkins weekly version 2.153 and earlier, LTS version 2.138.3 and earlier utilizing the Stapler web framework.

Impact

Unauthenticated remote attackers can invoke arbitrary methods on Java objects by sending crafted URLs, leading to full Remote Code Execution (RCE) under system privileges.

Mitigation

Immediately upgrade Jenkins weekly to version 2.154 or later, and LTS to version 2.138.4 or later.

Affected Products & Version Scope

Jenkins weekly 2.153 and earlier, LTS 2.138.3 and earlier

Remediation & Live Workaround Commands

PATCH & WORKAROUND

1. Official Patch & Version Upgrade Commands

The primary remediation is upgrading Jenkins to the latest secure LTS or weekly release.

bash
# Upgrade Jenkins on Debian/Ubuntu-based systems
sudo apt-get update
sudo apt-get --only-upgrade install jenkins

# Upgrade Jenkins on RedHat/CentOS-based systems
sudo yum update jenkins

# For Docker-based deployments, pull and run the latest LTS image
docker pull jenkins/jenkins:lts
docker stop jenkins-container
docker run -d --name jenkins-new -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts

2. Temporary Workaround & Hardening Configuration

If an immediate upgrade is not feasible, restrict access to the Jenkins instance using a reverse proxy and block suspicious URL patterns.

nginx
# Nginx configuration to restrict access and mitigate exposure
server {
    listen 80;
    server_name jenkins.internal.local;

    location / {
        # Restrict access to trusted internal IP ranges
        allow 10.0.0.0/8;
        deny all;

        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

3. Log Audit & IoC Verification Commands

Use the following commands to verify the running Jenkins version and scan logs for potential exploitation attempts.

bash
# Check the running Jenkins version via HTTP headers
curl -sI http://localhost:8080 | grep -i 'X-Jenkins'

# Scan Jenkins access logs for suspicious Stapler exploitation patterns
grep -Ei '(descriptorByName|securityRealm|classLoader)' /var/log/jenkins/jenkins.log
Interactive SecOps Remediation Checklist
0/4 (0%)
Recommended Security Control & Mitigation Partner
Snyk Open Source & Container Security
As this vulnerability is actively exploited in the wild (CISA KEV), immediately upgrade your Jenkins instances to a patched version.

Scan Your Repositories for Transitive Vulnerable Dependencies in 30 Seconds

Automatically detect vulnerable packages across npm, PyPI, Maven, and Go, and open automated fix Pull Requests without breaking your build.

Free Forever Tier · 1-Click GitHub/GitLab Auto-PR
Master DevSecOps: Automated SAST/SCA in GitHub Actions & Kubernetes
View Course Curriculum

Technical Root Cause & Exploitation Mechanics

1. Vulnerability Overview & Root Cause

This vulnerability exists in the Stapler web framework's MetaClass.java, which serves as the core request routing engine for Jenkins. Stapler employs a reflection mechanism to map URL paths directly to Java object methods. Due to a lack of proper access control and method filtering, internal Java methods that were never intended to be exposed to the public web can be directly invoked via specifically structured URLs.

2. Exploitation Mechanics & Attack Scenario

An unauthenticated attacker sends a specially crafted HTTP request to the Jenkins server. Stapler's URL dispatcher processes the path segments sequentially to resolve getters and action methods on Java classes. By chaining these lookups, the attacker can bypass intended restrictions, access class loaders or internal APIs, instantiate arbitrary Java objects, and trigger system command execution. This is classified as a variant of object graph navigation and deserialization vulnerabilities (CWE-502).

3. Infrastructure & Business Impact

With a CVSS score of 9.8 (Critical) and its inclusion in the CISA KEV catalog, this vulnerability is actively exploited in the wild. Successful exploitation grants the attacker complete control over the Jenkins master node. This compromises the entire CI/CD pipeline, exposing source code, credentials, and API tokens, which can serve as a stepping stone for devastating supply chain attacks.

Official Vendor Advisories & References

Frequently Asked SecOps Questions (CVE-2018-1000861)

FAQ

Q1. How critical is CVE-2018-1000861 and is it actively exploited in the wild?

CVE-2018-1000861 is rated CVSS 9.8 (CRITICAL) with a 30-day EPSS exploitation probability of 98.3%. It is listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, requiring immediate emergency remediation.

Q2. Which vendors and products are affected by CVE-2018-1000861?

Primary impacted vendors include jenkins, stapler across jenkins, stapler. Scope summary: Jenkins weekly 2.153 and earlier, LTS 2.138.3 and earlier

Q3. What temporary mitigations or workarounds exist for CVE-2018-1000861 before patching?

[Mitigation] Immediately upgrade Jenkins weekly to version 2.154 or later, and LTS to version 2.138.4 or later. Follow the CLI remediation commands and interactive SecOps checklist on this page to restrict exposure prior to your maintenance window.

SECOPS WORKBENCH INTEGRATION

Generate an Internal Engineering Notice or CISO Report for CVE-2018-1000861

Instantly format this advisory into an executive CISO summary or engineering patch ticket.

Generate Report →

🔗 Related Advisories in Similar Stack (jenkins)

View Category →
SecOps Advisory Dispatch & RSS Feed

Subscribe to Daily Vulnerability Briefings & KEV Alerts

Concise morning briefings for SecOps, DevSecOps, and SRE teams covering newly exploited CVEs and mitigation priorities.

Slack / Teams / RSS Feed:
PatchKO