CVE-2026-70427
Jenkins vulnerability analysis and mitigation

Overview

CVE-2026-70427 is a link-following vulnerability in Jenkins core that allows arbitrary file creation on the controller file system. Jenkins 2.575 and earlier (weekly) and LTS 2.568.1 and earlier do not safely handle symbolic links with effectively empty names during extraction of .tar and .tar.gz archives, enabling attackers who control agent processes to write files to arbitrary locations on the controller. The vulnerability was disclosed on August 5, 2026, as part of the Jenkins Security Advisory 2026-08-05 (SECURITY-3930), and is noted as an incomplete fix of a prior issue (SECURITY-3657). It carries a CVSS v3.1 base score of 4.3 (Medium) (Jenkins Advisory, GitHub Advisory).

Technical details

The root cause is classified as CWE-59 (Improper Link Resolution Before File Access / 'Link Following'). During extraction of .tar or .tar.gz archives, Jenkins fails to properly validate symbolic links that have effectively empty names, allowing those links to resolve to unintended filesystem paths outside the intended extraction directory. An attacker with control over an agent process can craft a malicious archive containing such a symlink and deliver it to the Jenkins controller during normal agent-to-controller communication. This vulnerability is an incomplete fix of the previously patched SECURITY-3657, meaning the original mitigation did not cover this specific symlink edge case (Jenkins Advisory). The attack requires low privileges (agent process control) and no user interaction, and is exploitable over the network (GitHub Advisory).

Impact

Successful exploitation allows an attacker to write arbitrary files to any location on the Jenkins controller file system, constrained only by the OS-level file permissions of the Jenkins process user. This can lead to remote code execution by, for example, writing malicious Groovy scripts to JENKINS_HOME/init.groovy.d/ (executed at Jenkins startup) or deploying rogue plugins to JENKINS_HOME/plugins/. The integrity impact is the primary concern — confidentiality and availability are not directly affected by this vulnerability alone, but code execution via file write can lead to full controller compromise and lateral movement within CI/CD pipelines (Jenkins Advisory).

Exploitability

No public proof-of-concept exploit code is known to exist, and there is no evidence of active in-the-wild exploitation as of the advisory publication date (Feedly). The CISA SSVC assessment classifies exploitation as 'none' and the attack as not automatable. The EPSS score is approximately 0.248% (16th percentile), indicating a low near-term exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires an attacker to already have control over a Jenkins agent process, which limits the attack surface to environments where agents are not fully trusted (GitHub Advisory).

Exploitation steps

  1. Gain agent process control: Obtain the ability to control a Jenkins agent process — this could be through compromising an existing agent node, exploiting another vulnerability to gain Agent/Connect permission, or operating a malicious agent that connects to the controller.
  2. Craft a malicious archive: Create a .tar or .tar.gz archive containing a symbolic link with an effectively empty name that resolves to a target path on the controller file system (e.g., pointing to JENKINS_HOME/init.groovy.d/ or JENKINS_HOME/plugins/).
  3. Deliver the archive to the controller: Trigger a Jenkins operation that causes the controller to extract the crafted archive received from the agent (e.g., via artifact stashing, file copy operations, or other agent-to-controller file transfer mechanisms).
  4. Write malicious payload: The symlink traversal causes Jenkins to write attacker-controlled file content (e.g., a Groovy script or a malicious plugin .jpi file) to the target directory on the controller.
  5. Achieve code execution: Trigger execution of the written payload — for example, restart Jenkins to execute scripts in init.groovy.d/, or wait for the plugin to be loaded, resulting in arbitrary code execution on the Jenkins controller (Jenkins Advisory).

Indicators of compromise

  • File System: Unexpected or newly created .groovy files in JENKINS_HOME/init.groovy.d/; unexpected .jpi or .hpi files in JENKINS_HOME/plugins/ not corresponding to administrator-installed plugins; files with unusual ownership or timestamps in JENKINS_HOME subdirectories.
  • Logs: Jenkins system logs showing archive extraction operations originating from agent nodes, particularly involving .tar or .tar.gz files; log entries referencing symlink resolution errors or unexpected file write operations during archive extraction.
  • Process: Unexpected processes spawned by the Jenkins controller JVM following a restart (indicative of malicious init.groovy.d script execution); unusual outbound network connections from the Jenkins controller process.
  • Network: Unexpected agent connections from unknown or newly registered nodes delivering large or unusual archive payloads to the controller.

Mitigation and workarounds

Upgrade Jenkins to version 2.576 (weekly) or LTS 2.568.2, which refuse to extract files from .tar and .tar.gz archives containing symbolic links with effectively empty names. For environments where immediate upgrading is not possible, the Jenkins project has published a workaround available in a dedicated GitHub repository referenced in the advisory. As an additional defense-in-depth measure, restrict agent process control to fully trusted users and nodes, and audit which users hold Agent/Connect permissions (Jenkins Advisory).

Community reactions

The vulnerability was reported through the Jenkins Bug Bounty Program sponsored by the European Commission, with credit given to researchers Samy Medjahed (Ap4sh) and Eliott Laurie (Ethicxz). The advisory was picked up by security aggregators including AusCERT (ESB-2026.9119), oss-security mailing list, and Securereading.com shortly after publication. No significant independent researcher commentary or social media discussion beyond standard vulnerability tracking has been observed (Jenkins Advisory).

Additional resources


SourceThis report was generated using AI

Related Jenkins vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-70429HIGH8.1
  • Jenkins logoJenkins
  • jenkins-2.568
NoYesAug 05, 2026
CVE-2026-70428MEDIUM4.3
  • Jenkins logoJenkins
  • jenkins
NoYesAug 05, 2026
CVE-2026-70427MEDIUM4.3
  • Jenkins logoJenkins
  • jenkins-2.568
NoYesAug 05, 2026
CVE-2026-70430LOW2.7
  • Jenkins logoJenkins
  • jenkins
NoYesAug 05, 2026
CVE-2026-19429NONEN/A
  • Jenkins logoJenkins
  • cpe:2.3:a:jenkins:jenkins
NoNoAug 10, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management