-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

===========================================================================
             AUSCERT External Security Bulletin Redistribution

                               ESB-2020.3178
                   Jenkins Security Advisory 2020-09-16
                             17 September 2020

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

        AusCERT Security Bulletin Summary
        ---------------------------------

Product:           Jenkins plugins
Publisher:         Jenkins
Operating System:  Windows
                   UNIX variants (UNIX, Linux, OSX)
Impact/Access:     Execute Arbitrary Code/Commands -- Existing Account      
                   Overwrite Arbitrary Files       -- Existing Account      
                   Cross-site Request Forgery      -- Existing Account      
                   Cross-site Scripting            -- Existing Account      
                   Reduced Security                -- Remote/Unauthenticated
                   Access Confidential Data        -- Existing Account      
                   Unauthorised Access             -- Existing Account      
Resolution:        Patch/Upgrade
CVE Names:         CVE-2020-2278 CVE-2020-2277 CVE-2020-2276
                   CVE-2020-2275 CVE-2020-2274 CVE-2020-2273
                   CVE-2020-2272 CVE-2020-2271 CVE-2020-2270
                   CVE-2020-2269 CVE-2020-2268 CVE-2020-2267
                   CVE-2020-2266 CVE-2020-2265 CVE-2020-2264
                   CVE-2020-2263 CVE-2020-2262 CVE-2020-2261
                   CVE-2020-2260 CVE-2020-2259 CVE-2020-2258
                   CVE-2020-2257 CVE-2020-2256 CVE-2020-2255
                   CVE-2020-2254 CVE-2020-2253 CVE-2020-2252

Original Bulletin: 
   https://www.jenkins.io/security/advisory/2020-09-16/

- --------------------------BEGIN INCLUDED TEXT--------------------

Jenkins Security Advisory 2020-09-16  

This advisory announces vulnerabilities in the following Jenkins deliverables:

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

Missing permission check in Blue Ocean Plugin  

SECURITY-1961 / CVE-2020-2255

Updated 2020-09-16: This entry previously misidentified the problematic
behavior. The HTTP request itself is legitimate, but only authorized users
should be able to perform it.

Blue Ocean Plugin 1.23.2 and earlier does not perform permission checks in
several HTTP endpoints implementing connection tests.

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

Blue Ocean Plugin 1.23.3 requires Item/Create permission to perform these
connection tests.

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  

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

Affected Versions  

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

Fix  

  o Blue Ocean Plugin should be updated to version 1.23.3
  o computer-queue-plugin Plugin should be updated to version 1.6
  o Email Extension Plugin should be updated to version 2.76
  o Health Advisor by CloudBees Plugin should be updated to version 3.2.1
  o Mailer Plugin should be updated to version 1.32.1
  o Perfecto Plugin should be updated to version 1.18
  o Pipeline Maven Integration Plugin should be updated to version 3.9.3
  o 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:

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

Credit  

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

  o Daniel Beck, CloudBees, Inc. for SECURITY-1966, SECURITY-1967,
    SECURITY-1968 (1), SECURITY-1968 (2), SECURITY-1976
  o Jinchen Sheng, Ant Security FG Lab. for SECURITY-1956, SECURITY-1961
  o Matt Sicker, CloudBees, Inc. for SECURITY-1998
  o Peter Stockli (via Github Security Lab) for SECURITY-1813
  o 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
  o Wadeck Follonier, CloudBees, Inc. and Daniel Beck, CloudBees, Inc. for
    SECURITY-1935

- --------------------------END INCLUDED TEXT--------------------

You have received this e-mail bulletin as a result of your organisation's
registration with AusCERT. The mailing list you are subscribed to is
maintained within your organisation, so if you do not wish to continue
receiving these bulletins you should contact your local IT manager. If
you do not know who that is, please send an email to auscert@auscert.org.au
and we will forward your request to the appropriate person.

NOTE: Third Party Rights
This security bulletin is provided as a service to AusCERT's members.  As
AusCERT did not write the document quoted above, AusCERT has had no control
over its content. The decision to follow or act on information or advice
contained in this security bulletin is the responsibility of each user or
organisation, and should be considered in accordance with your organisation's
site policies and procedures. AusCERT takes no responsibility for consequences
which may arise from following or acting on information or advice contained in
this security bulletin.

NOTE: This is only the original release of the security bulletin.  It may
not be updated when updates to the original are made.  If downloading at
a later date, it is recommended that the bulletin is retrieved directly
from the author's website to ensure that the information is still current.

Contact information for the authors of the original document is included
in the Security Bulletin above.  If you have any questions or need further
information, please contact them directly.

Previous advisories and external security bulletins can be retrieved from:

        https://www.auscert.org.au/bulletins/

===========================================================================
Australian Computer Emergency Response Team
The University of Queensland
Brisbane
Qld 4072

Internet Email: auscert@auscert.org.au
Facsimile:      (07) 3365 7031
Telephone:      (07) 3365 4417 (International: +61 7 3365 4417)
                AusCERT personnel answer during Queensland business hours
                which are GMT+10:00 (AEST).
                On call after hours for member emergencies only.
===========================================================================
-----BEGIN PGP SIGNATURE-----
Comment: http://www.auscert.org.au/render.html?it=1967

iQIVAwUBX2Kdz+NLKJtyKPYoAQgl0hAApatEJHxwbfesI+K0YYqUIff+1cn3rcl1
cUuDuM33bXryd4iaFSikMtxM/NyZmsAwydmYZhXPcesLoEhIDtVhPwvIRc3OCPn/
MnE6dgm5msj/ggKJn/YESRE4V+Xzw6gt3vIdBwUp+6ZERTye+9l8VgO/VK++9HK4
BSiSFItTZsVC9VnDoYUjTsZa2q/TsxhpptV8yz54Wsbn9ElxrZcgZAWWDhNL6iJP
gGuXKByXCJZZR7D0hLxbs3wQZQMcvH4yZk/WrbugfVZ11IyUnhv25BxF3EGH2L4z
RDzCpvzmtwmIs00uJD9uArKbiLxegaP9ITJNFxgrk8psDP5eKjhTNcC2lCbKEN6g
hCfsvBWW7Bn+Cc7JbepiYQtil2tXgBb/lVi2hlqpkDzoBcEDw8ylcBqhA7M8y7g/
GDWk73ME5XjqFN+IdwHNpfYMkPnAifAGumPcNMoX2dvQNqSUKjjDuAqjnGqQipyM
fWxq7Rm0usPZBZDzwlnhRWBEKoQVUxe6sOwhAt+c4xUyrQBKc2dIM58h3t2Q7N18
KRljxA7L4R0mq/eCipb4Z3aCa+p4B3e8ASAc8FuQ3P/0rxH4keJrfwxiQq8TvXUq
rBqojIbQXMyOZiDasoRC5GoA0dIqjxipdIyXOqaf/a6MF3vR4QxFd/iQXWe+vJs7
FKTeUM5ZKyg=
=yuc3
-----END PGP SIGNATURE-----