Critical Jenkins Vulnerability Exposes Build Servers to Controller Takeover
The Jenkins Security Advisory 2026-08-05 discloses CVE-2026-70426 (SECURITY-3911), a critical vulnerability in the Remoting library where the JEP-200 class filter is not applied to classes resolved via a fallback deserialization path. This affects Remoting 3384.v60d89463d9e0 and earlier (except 3355.3357.v931d3c992987), included in Jenkins 2.575 and earlier and LTS 2.568.1 and earlier. Agent processes, code running on agents, and attackers with Agent/Connect permission can bypass the deserialization filter for classes on the Jenkins core classpath, which could be leveraged to execute code on the controller. The fix is in Jenkins 2.576 and LTS 2.568.2. An official Java agent workaround is available in the jenkinsci-cert/SECURITY-3911-3930 repository. The advisory does not confirm active exploitation. The advisory also covers CVE-2026-70427 (SECURITY-3930), a separate link-following vulnerability in tar extraction.
Research notes
- Root causeThe JEP-200 class filter is not applied to classes resolved via a fallback path in the Remoting deserialization implementation, allowing bypass of the deserialization filter for classes on the Jenkins core classpath.
- Technical detailThe vulnerability affects Remoting 3384.v60d89463d9e0 and earlier (except 3355.3357.v931d3c992987), included in Jenkins 2.575 and earlier, LTS 2.568.1 and earlier. The fix applies the class filter on the fallback code path in Jenkins 2.576 and LTS 2.568.2.
- ExploitationThe advisory does not confirm active exploitation. The vulnerability can be exploited by agent processes, code already executing on Jenkins agents, or users with Agent/Connect permission.
- MitigationFixed in Jenkins weekly 2.576 and LTS 2.568.2. An official Java agent workaround is available in the jenkinsci-cert/SECURITY-3911-3930 GitHub repository for administrators unable to upgrade immediately.