CloudBees Security Advisory 2018-01-22

This advisory announces vulnerabilities in these Jenkins plugins:

XXE vulnerabilities in multiple static analysis plugins

SECURITY-655 (PMD)
SECURITY-656 (Checkstyle)
SECURITY-657 (DRY)
SECURITY-658 (FindBugs)
SECURITY-695 (Warnings)

Multiple plugins based on the Static Analysis Utilities plugin are affected by an XML External Entity (XXE) processing vulnerability. This allows attacker to configure build processes such that one of these plugins parses a maliciously crafted file that uses external entities for extraction of secrets from the Jenkins master, server-side request forgery, or denial-of-service attacks.

External entity resolution has been disabled for these plugins.

CSRF vulnerability in Release plugin

SECURITY-607
Release plugin did not require form submissions to be submitted via POST, resulting in a CSRF vulnerability allowing attackers to trigger release builds.

Access to the form action URL now requires POST.

CSRF vulnerability in Translation Assistance plugin

SECURITY-507
Translation Assistance plugin did not require form submissions to be submitted via POST, resulting in a CSRF vulnerability allowing attackers to override localized strings displayed to all users on the current Jenkins instance if the victim is a Jenkins administrator.

Incorrect permission checks in Pipeline: Nodes and Processes plugin allows executing builds on agents while lacking Computer/Build permission

SECURITY-675
On instances with Authorize Project plugin, the authentication associated with a build may lack the Computer/Build permission on some agents. This did not prevent the execution of node blocks on those agents due to incorrect permissions checks in Pipeline: Nodes and Processes plugin.
Build permissions on agents are now properly enforced for node steps.

XSS vulnerability in job configuration forms in Ant plugin

SECURITY-624
SECURITY-694

The Ant plugin failed to escape tool names it shows on job configuration screens, resulting in a cross-site scripting (XSS) vulnerability that is exploitable only by Jenkins administrators.

This is the same vulnerability that was announced without a fix on 2017-12-05 . Contrary to what is included in that security advisory, Ant Plugin shows both the JDK and Ant tools on the configuration screen, and the vulnerability in Ant plugin was responsible for both problems described in the previous advisory.

The Ant plugin now correctly escapes tool names shown on the job configuration screen.

Severity

Affected versions:

  • Ant plugin up to and including 1.7

  • Checkstyle plugin up to and including 3.49

  • DRY plugin up to and including 2.49

  • FindBugs plugin up to and including 4.71

  • Pipeline: Nodes and Processes plugin up to and including 2.17

  • PMD plugin up to and including 3.49

  • Release plugin up to and including 2.9

  • Translation Assistance plugin up to and including 1.15

  • Warnings plugin up to and including 4.64

Fix

  • Ant plugin should be updated to version 1.8

  • Checkstyle plugin (*) should be updated to version 3.50

  • DRY plugin (*) should be updated to version 2.50

  • FindBugs plugin (*) should be updated to version 4.72

  • Pipeline: Nodes and Processes plugin should be updated to version 2.18 or 2.11.1-cb-1

  • PMD plugin (*) should be updated to version 3.50

  • Release plugin (*) should be updated to version 2.10

  • Warnings plugin (*) should be updated to version 4.65

These versions include fixes to the vulnerabilities described above. All prior versions are considered to be affected by these vulnerabilities unless otherwise indicated.

The Translation Assistance plugin is no longer offered in the CloudBees Update Centers, so the recommendation is to uninstall the plugin.

Instructions to get the fixes for the different CloudBees Jenkins Solutions are included below:

  • Plugins marked (*) can be updated through the Plugin Manager.

  • CloudBees Jenkins Enterprise:

    • For version 2.1.0 or 1.11.2 the plugins will be offered by Beekeeper if CAP is enabled or can be updated through the Plugin Manager if CAP is disabled.

    • Users of versions older than 2.1.0 or 1.11.2 should upgrade to 2.1.0 or 1.11.2

  • CloudBees Jenkins Platform (rolling train, CloudBees Jenkins Operations Center and CloudBees Jenkins Enterprise 2.x.y.z):

    • For version 2.89.3.4 the plugins will be offered by Beekeeper if CAP is enabled or can be updated through the Plugin Manager if CAP is disabled.

    • Users of versions older than 2.89.3.4 should upgrade to 2.89.3.4

  • CloudBees Jenkins Platform (fixed train, CloudBees Jenkins Operations Center and CloudBees Jenkins Enterprise 2.73.x.0.z):

    • For version 2.73.28.0.1 the plugins will be offered by Beekeeper if CAP is enabled or can be updated through the Plugin Manager if CAP is disabled.

  • CloudBees Jenkins Platform (fixed train, CloudBees Jenkins Operations Center and CloudBees Jenkins Enterprise 2.46.x.0.y):

    • For version 2.46.28.0.2 the plugins will be offered by Beekeeper if CAP is enabled or can be updated through the Plugin Manager if CAP is disabled.

    • Users of versions older than 2.46.28.0.2 should upgrade to 2.46.28.0.2

  • CloudBees Jenkins Team :

    • For version 2.89.3.4 the plugins will be offered by Beekeeper if CAP is enabled or can be updated through the Plugin Manager if CAP is disabled.

    • Users of versions older than 2.89.3.4 should upgrade to 2.89.3.4.