
====================================================================

                             CERT-Renater

                 Note d'Information No. 2020/VULN516
_____________________________________________________________________

DATE                : 16/09/2020

HARDWARE PLATFORM(S): /

OPERATING SYSTEM(S): Systems running Android Lint Plugin for Jenkins,
                       Blue Ocean Plugin for Jenkins,
                       chosen-views-tabbar Plugin for Jenkins,
                       ClearCase Release Plugin for Jenkins,
                       computer-queue-plugin Plugin for Jenkins,
                       Copy data to workspace Plugin for Jenkins,
                   Coverage/Complexity Scatter Plot Plugin for Jenkins,
                       Custom Job Icon Plugin for Jenkins,
                       Description Column Plugin for Jenkins,
                       ElasTest Plugin for Jenkins,
                       Email Extension Plugin for Jenkins,
                       Health Advisor by CloudBees Plugin for Jenkins,
                       Locked Files Report Plugin for Jenkins,
                       Mailer Plugin for Jenkins,
                       MongoDB Plugin for Jenkins,
                       Perfecto Plugin for Jenkins,
                       Pipeline Maven Integration Plugin for Jenkins,
                       Radiator View Plugin for Jenkins,
                       Selection tasks Plugin for Jenkins,
                       Storable Configs Plugin for Jenkins,
                       Validating String Parameter Plugin for Jenkins.

=====================================================================
https://www.jenkins.io/security/advisory/2020-09-16/
_____________________________________________________________________

 Jenkins Security Advisory 2020-09-16

This advisory announces vulnerabilities in the following Jenkins
deliverables:

    Android Lint Plugin
    Blue Ocean Plugin
    chosen-views-tabbar Plugin
    ClearCase Release Plugin
    computer-queue-plugin Plugin
    Copy data to workspace Plugin
    Coverage/Complexity Scatter Plot Plugin
    Custom Job Icon Plugin
    Description Column Plugin
    ElasTest Plugin
    Email Extension Plugin
    Health Advisor by CloudBees Plugin
    Locked Files Report Plugin
    Mailer Plugin
    MongoDB Plugin
    Perfecto Plugin
    Pipeline Maven Integration Plugin
    Radiator View Plugin
    Selection tasks Plugin
    Storable Configs Plugin
    Validating String Parameter Plugin


Descriptions

Missing hostname validation in Mailer Plugin
SECURITY-1813 / CVE-2020-2252

Mailer Plugin 1.32 and earlier does not perform hostname validation when
connecting to the configured SMTP server. This lack of validation could
be abused using a man-in-the-middle attack to intercept these connections.

Mailer Plugin 1.32.1 validates the SMTP hostname when connecting via TLS
by default. In Mailer Plugin 1.32 and earlier, administrators can set
the Java system property mail.smtp.ssl.checkserveridentity to true on
startup to enable this protection.

In case of problems, this protection can be disabled again by setting
the Java system property mail.smtp.ssl.checkserveridentity to false on
startup.


Missing hostname validation in Email Extension Plugin
SECURITY-1851 / CVE-2020-2253

Email Extension Plugin 2.75 and earlier does not perform hostname
validation when connecting to the configured SMTP server. This lack of
validation could be abused using a man-in-the-middle attack to intercept
these connections.

Email Extension Plugin 2.76 validates the SMTP hostname when connecting
via TLS by default. In Email Extension Plugin 2.75 and earlier,
administrators can set the Java system property
mail.smtp.ssl.checkserveridentity to true on startup to enable this
protection. Alternatively, this protection can be enabled (or disabled
in the new version) via the 'Advanced Email Properties' field in the
plugin’s configuration in Configure System.

In case of problems, this protection can be disabled again by setting
mail.smtp.ssl.checkserveridentity to false using either method.


Path traversal vulnerability in Blue Ocean Plugin
SECURITY-1956 / CVE-2020-2254

Blue Ocean Plugin 1.23.2 and earlier provides an undocumented feature
flag, blueocean.features.GIT_READ_SAVE_TYPE, that when set to the value
clone allows an attacker with Item/Configure or Item/Create permission
to read arbitrary files on the Jenkins controller file system.

Blue Ocean Plugin 1.23.3 no longer includes this feature and redirects
existing usage to a safer alternative.


SSRF vulnerability in Blue Ocean Plugin
SECURITY-1961 / CVE-2020-2255

A missing permission check in a REST API in Blue Ocean Plugin 1.23.2 and
earlier allows attackers with Overall/Read permission to initiate a
connection test to an attacker-specified URL.

Blue Ocean Plugin 1.23.3 requires Item/Create permissions to create
GitHub server and BitBucket server connections.


Stored XSS vulnerability in upstream cause in Pipeline Maven Integration
Plugin
SECURITY-1976 / CVE-2020-2256

Pipeline Maven Integration Plugin 3.9.2 and earlier does not escape the
upstream job’s display name shown as part of a build cause.

This results in a stored cross-site scripting (XSS) vulnerability
exploitable by attackers with Job/Configure permission.

Pipeline Maven Integration Plugin 3.9.3 escapes upstream job names in
build causes.


Stored XSS vulnerability in Validating String Parameter Plugin
SECURITY-1935 / CVE-2020-2257

Validating String Parameter Plugin 2.4 and earlier does not escape
regular expressions in tooltips. Additionally, Validating String
Parameter Plugin 2.4 does not escape parameter names and parameter
descriptions.

This results in a stored cross-site scripting (XSS) vulnerability
exploitable by attackers with Job/Configure permission.

Validating String Parameter Plugin 2.5 escapes regular expressions in
tooltips and parameter names. Parameter descriptions are rendered using
the configured markup formatter.


Incorrect permission check in Health Advisor by CloudBees Plugin
SECURITY-1998 / CVE-2020-2258

Health Advisor by CloudBees Plugin 3.2.0 and earlier does not correctly
perform a permission check in an HTTP endpoint.

This allows attackers with Overall/Read permission to view an
administrative configuration page.

Health Advisor by CloudBees Plugin 3.2.1 requires Overall/Administer to
view its administrative configuration page.


Stored XSS vulnerability in computer-queue-plugin Plugin
SECURITY-1912 / CVE-2020-2259

computer-queue-plugin Plugin 1.5 and earlier does not escape the agent
name in tooltips.

This results in a stored cross-site scripting (XSS) vulnerability
exploitable by attackers with Agent/Configure permission.

computer-queue-plugin Plugin 1.6 escapes the agent name in tooltips.
Missing permission check in Perfecto Plugin
SECURITY-1979 / CVE-2020-2260

Perfecto Plugin 1.17 and earlier does not perform a permission check in
a method implementing a connection test.

This allows attackers with Overall/Read permission to connect to an
attacker-specified HTTP URL using attacker-specified username and
password.

Perfecto Plugin 1.18 requires Overall/Administer permission to perform a
connection test.


OS command execution vulnerability in Perfecto Plugin
SECURITY-1980 / CVE-2020-2261

Perfecto Plugin allows specifying Perfecto Connect Path and Perfecto
Connect File Name in job configurations.

This command is executed on the Jenkins controller in Perfecto Plugin
1.17 and earlier, allowing attackers with Job/Configure permission to
run arbitrary commands on the Jenkins controller.

Perfecto Plugin 1.18 executes the specified commands on the agent the
build is running on.


Stored XSS vulnerability in Android Lint Plugin
SECURITY-1908 / CVE-2020-2262

Android Lint Plugin 2.6 and earlier does not escape the annotation
message in tooltips.

This results in a stored cross-site scripting (XSS) vulnerability
exploitable by attackers able to provide report files to the 'Publish
Android Lint results' post-build step.

As of publication of this advisory, there is no fix.


Stored XSS vulnerability in Radiator View Plugin
SECURITY-1927 / CVE-2020-2263

Radiator View Plugin 1.29 and earlier does not escape the full name of
the jobs in tooltips.

This results in a stored cross-site scripting (XSS) vulnerability
exploitable by attackers with Job/Configure permission.

As of publication of this advisory, there is no fix.


Stored XSS vulnerability in Custom Job Icon Plugin
SECURITY-1914 / CVE-2020-2264

Custom Job Icon Plugin 0.2 and earlier does not escape the job
descriptions in tooltips.

This results in a stored cross-site scripting (XSS) vulnerability
exploitable by attackers with Job/Configure permission.

As of publication of this advisory, there is no fix.


Stored XSS vulnerability in Coverage/Complexity Scatter Plot Plugin
SECURITY-1913 / CVE-2020-2265

Coverage/Complexity Scatter Plot Plugin 1.1.1 and earlier does not
escape the method information in tooltips.

This results in a stored cross-site scripting (XSS) vulnerability
exploitable by attackers able to provide report files to the 'Publish
Coverage / Complexity Scatter Plot' post-build step.

As of publication of this advisory, there is no fix.


Stored XSS vulnerability in Description Column Plugin
SECURITY-1916 / CVE-2020-2266

Description Column Plugin 1.3 and earlier does not escape the job
description in the column tooltips.

This results in a stored cross-site scripting (XSS) vulnerability
exploitable by attackers with Job/Configure permission.

As of publication of this advisory, there is no fix.


CSRF vulnerability and missing permission checks in MongoDB Plugin
SECURITY-1904 / CVE-2020-2267 (missing permission check), CVE-2020-2268
(CSRF)

MongoDB Plugin 1.3 and earlier does not perform permission checks in
methods implementing form validation.

This allows attackers with Overall/Read permission to gain access to
some metadata of any arbitrary files on the Jenkins controller.

Additionally, these form validation methods do not require POST
requests, resulting in a cross-site request forgery (CSRF)
vulnerability.

As of publication of this advisory, there is no fix.


Stored XSS vulnerability in chosen-views-tabbar Plugin
SECURITY-1869 / CVE-2020-2269

chosen-views-tabbar Plugin 1.2 and earlier does not escape view names in
the dropdown to select views.

This results in a stored cross-site scripting (XSS) vulnerability
exploitable by attackers with the ability to configure views.

As of publication of this advisory, there is no fix.


Stored XSS vulnerability in ClearCase Release Plugin
SECURITY-1911 / CVE-2020-2270

ClearCase Release Plugin 0.3 and earlier does not escape the composite
baseline in badge tooltip.

This results in a stored cross-site scripting (XSS) vulnerability
exploitable by attackers with Job/Configure permission.

As of publication of this advisory, there is no fix.


Stored XSS vulnerability in Locked Files Report Plugin
SECURITY-1921 / CVE-2020-2271

Locked Files Report Plugin 1.6 and earlier does not escape locked files'
names in tooltips.

This results in a stored cross-site scripting (XSS) vulnerability
exploitable by attackers with Job/Configure permission.

As of publication of this advisory, there is no fix.


CSRF vulnerability and missing permission checks in ElasTest Plugin
SECURITY-1903 / CVE-2020-2272 (missing permission check), CVE-2020-2273
(CSRF)

ElasTest Plugin 1.2.1 and earlier does not perform a permission check in
a method implementing form validation.

This allows attackers with Overall/Read permission to connect to an
attacker-specified URL using attacker-specified credentials.

Additionally, this form validation method does not require POST
requests, resulting in a cross-site request forgery (CSRF)
vulnerability.

As of publication of this advisory, there is no fix.


Passwords stored in plain text by ElasTest Plugin
SECURITY-2014 / CVE-2020-2274

ElasTest Plugin 1.2.1 and earlier stores its server password in plain
text in the global configuration file
jenkins.plugins.elastest.ElasTestInstallation.xml. This password can be
viewed by users with access to the Jenkins controller file system.

As of publication of this advisory, there is no fix.


Arbitrary file read vulnerability in Copy data to workspace Plugin
SECURITY-1966 / CVE-2020-2275

Copy data to workspace Plugin allows users to copy files from the
Jenkins controller to job workspaces.

Copy data to workspace Plugin 1.0 and earlier does not limit which
directories can be copied. This allows attackers with Job/Configure
permission to read arbitrary files on the Jenkins controller.

As of publication of this advisory, there is no fix.


System command execution vulnerability in Selection tasks Plugin
SECURITY-1967 / CVE-2020-2276

Selection tasks Plugin implements a job parameter that dynamically
generates possible values from the output of a program. The path to that
program is specified as part of the parameter configuration.

Selection tasks Plugin 1.0 and earlier executes this user-specified
program on the Jenkins controller. This allows attackers with
Job/Configure permission to execute an arbitrary system command on the
Jenkins controller as the OS user that the Jenkins process is running
as.

As of publication of this advisory, there is no fix.


Arbitrary file read vulnerability in Storable Configs Plugin
SECURITY-1968 (1) / CVE-2020-2277

Storable Configs Plugin 1.0 and earlier allows users with Job/Read
permission to read arbitrary files on the Jenkins controller.

As of publication of this advisory, there is no fix.


Arbitrary file write vulnerability in Storable Configs Plugin
SECURITY-1968 (2) / CVE-2020-2278

Storable Configs Plugin allows storing copies of a job’s config.xml file
on the Jenkins controller with a user-specified file name.

Storable Configs Plugin 1.0 and earlier does not restrict the
user-specified file name, except that a .xml suffix is added if it’s not
already present. This allows attackers with Job/Configure permission to
replace any other .xml file on the Jenkins controller with the job’s
config.xml file’s content.

As of publication of this advisory, there is no fix.


Severity

    SECURITY-1813: Medium
    SECURITY-1851: Medium
    SECURITY-1869: High
    SECURITY-1903: Medium
    SECURITY-1904: Medium
    SECURITY-1908: High
    SECURITY-1911: High
    SECURITY-1912: High
    SECURITY-1913: High
    SECURITY-1914: High
    SECURITY-1916: High
    SECURITY-1921: High
    SECURITY-1927: High
    SECURITY-1935: High
    SECURITY-1956: Medium
    SECURITY-1961: Medium
    SECURITY-1966: Medium
    SECURITY-1967: High
    SECURITY-1968 (1): Medium
    SECURITY-1968 (2): Medium
    SECURITY-1976: High
    SECURITY-1979: Medium
    SECURITY-1980: High
    SECURITY-1998: Medium
    SECURITY-2014: Low

Affected Versions

    Android Lint Plugin up to and including 2.6
    Blue Ocean Plugin up to and including 1.23.2
    chosen-views-tabbar Plugin up to and including 1.2
    ClearCase Release Plugin up to and including 0.3
    computer-queue-plugin Plugin up to and including 1.5
    Copy data to workspace Plugin up to and including 1.0
    Coverage/Complexity Scatter Plot Plugin up to and including 1.1.1
    Custom Job Icon Plugin up to and including 0.2
    Description Column Plugin up to and including 1.3
    ElasTest Plugin up to and including 1.2.1
    Email Extension Plugin up to and including 2.75
    Health Advisor by CloudBees Plugin up to and including 3.2.0
    Locked Files Report Plugin up to and including 1.6
    Mailer Plugin up to and including 1.32
    MongoDB Plugin up to and including 1.3
    Perfecto Plugin up to and including 1.17
    Pipeline Maven Integration Plugin up to and including 3.9.2
    Radiator View Plugin up to and including 1.29
    Selection tasks Plugin up to and including 1.0
    Storable Configs Plugin up to and including 1.0
    Validating String Parameter Plugin up to and including 2.4

Fix

    Blue Ocean Plugin should be updated to version 1.23.3
    computer-queue-plugin Plugin should be updated to version 1.6
    Email Extension Plugin should be updated to version 2.76
    Health Advisor by CloudBees Plugin should be updated to version 3.2.1
    Mailer Plugin should be updated to version 1.32.1
    Perfecto Plugin should be updated to version 1.18
    Pipeline Maven Integration Plugin should be updated to version 3.9.3
    Validating String Parameter Plugin should be updated to version 2.5

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

As of publication of this advisory, no fixes are available for the
following plugins:

    Android Lint Plugin
    chosen-views-tabbar Plugin
    ClearCase Release Plugin
    Copy data to workspace Plugin
    Coverage/Complexity Scatter Plot Plugin
    Custom Job Icon Plugin
    Description Column Plugin
    ElasTest Plugin
    Locked Files Report Plugin
    MongoDB Plugin
    Radiator View Plugin
    Selection tasks Plugin
    Storable Configs Plugin


Credit

The Jenkins project would like to thank the reporters for discovering
and reporting these vulnerabilities:

    Daniel Beck, CloudBees, Inc. for SECURITY-1966, SECURITY-1967,
     SECURITY-1968 (1), SECURITY-1968 (2), SECURITY-1976
    Jinchen Sheng, Ant Security FG Lab. for SECURITY-1956, SECURITY-1961
    Matt Sicker, CloudBees, Inc. for SECURITY-1998
    Peter Stöckli (via Github Security Lab) for SECURITY-1813
    Wadeck Follonier, CloudBees, Inc. for SECURITY-1869, SECURITY-1903,
     SECURITY-1904, SECURITY-1908, SECURITY-1911, SECURITY-1912,
     SECURITY-1913, SECURITY-1914, SECURITY-1916, SECURITY-1921,
     SECURITY-1927, SECURITY-2014
    Wadeck Follonier, CloudBees, Inc. and Daniel Beck, CloudBees, Inc.
     for SECURITY-1935


=========================================================
+ CERT-RENATER       |    tel : 01-53-94-20-44          +
+ 23/25 Rue Daviel   |    fax : 01-53-94-20-41          +
+ 75013 Paris        |    email:cert@support.renater.fr +
=========================================================


