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

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

                               ESB-2020.1973
                   Jenkins Security Advisory 2020-06-03
                                5 June 2020

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

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

Product:           Jenkins plugins
Publisher:         Jenkins
Operating System:  Windows
                   UNIX variants (UNIX, Linux, OSX)
Impact/Access:     Cross-site Request Forgery -- Existing Account            
                   Cross-site Scripting       -- Remote with User Interaction
                   Access Confidential Data   -- Existing Account            
                   Reduced Security           -- Existing Account            
Resolution:        Patch/Upgrade
CVE Names:         CVE-2020-2200 CVE-2020-2199 CVE-2020-2198
                   CVE-2020-2197 CVE-2020-2196 CVE-2020-2195
                   CVE-2020-2194 CVE-2020-2193 CVE-2020-2192
                   CVE-2020-2191 CVE-2020-2190 

Original Bulletin: 
   https://www.jenkins.io/security/advisory/2020-06-03/

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

Jenkins Security Advisory 2020-06-03

This advisory announces vulnerabilities in the following Jenkins deliverables:

  * Compact Columns Plugin
  * ECharts API Plugin
  * Play Framework Plugin
  * Project Inheritance Plugin
  * Script Security Plugin
  * Selenium Plugin
  * Self-Organizing Swarm Plug-in Modules Plugin
  * Subversion Partial Release Manager Plugin

Descriptions

Stored XSS vulnerability in Script Security Plugin

SECURITY-1866 / CVE-2020-2190

Script Security Plugin 1.72 and earlier does not correctly escape pending or
approved classpath entries on the In-process Script Approval page.

This results in a stored cross-site scripting (XSS) vulnerability exploitable
by users able to configure sandboxed scripts.

Script Security Plugin 1.73 escapes pending and approved classpath entries
before rendering them in the Jenkins UI.

CSRF vulnerability and improper permission checks in Self-Organizing Swarm
Plug-in Modules Plugin

SECURITY-1200 / CVE-2020-2191 (permission checks), CVE-2020-2192 (CSRF)

Self-Organizing Swarm Plug-in Modules Plugin adds API endpoints to add or
remove agent labels. In Self-Organizing Swarm Plug-in Modules Plugin 3.20 and
earlier these only require a global Swarm secret to use, and no regular
permission check is performed. This allows users with Agent/Create permission
to add or remove labels of any agent.

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

Self-Organizing Swarm Plug-in Modules Plugin 3.21 requires POST requests and
Agent/Configure permission for the affected agent to these endpoints. It no
longer uses the global Swarm secret for these API endpoints.

Stored XSS vulnerability in ECharts API Plugin

SECURITY-1841 / CVE-2020-2193

ECharts API Plugin 4.7.0-3 and earlier does not escape the parser identifier
when rendering charts.

This results in a stored cross-site scripting (XSS) vulnerability that can be
exploited by users with Job/Configure permission.

ECharts API Plugin 4.7.0-4 escapes the parser identifier.

Stored XSS vulnerability in ECharts API Plugin

SECURITY-1842 / CVE-2020-2194

ECharts API Plugin 4.7.0-3 and earlier does not escape the display name of the
builds in the trend chart.

This results in a stored cross-site scripting (XSS) vulnerability that can be
exploited by users with Run/Update permission.

ECharts API Plugin 4.7.0-4 escapes the display name.

Stored XSS vulnerability in Compact Columns Plugin

SECURITY-1837 / CVE-2020-2195

Compact Columns Plugin 1.11 and earlier displays the unprocessed job
description in tooltips.

This results in a stored cross-site scripting vulnerability that can be
exploited by users with Job/Configure permission.

Compact Columns Plugin 1.12 applies the configured markup formatter to the job
description shown in tooltips.

Complete lack of CSRF protection in Selenium Plugin can lead to OS command
injection

SECURITY-1766 / CVE-2020-2196

Selenium Plugin 3.141.59 and earlier has no CSRF protection for its HTTP
endpoints.

This allows attackers to perform the following actions:

  * Restart the Selenium Grid hub.

  * Delete or replace the plugin configuration.

  * Start, stop, or restart Selenium configurations on specific nodes.

Through carefully chosen configuration parameters, these actions can result in
OS command injection on the Jenkins master.

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

Missing permission check in Project Inheritance Plugin

SECURITY-1582 / CVE-2020-2197 (permission check), CVE-2020-2198 (unredacted
encrypted secrets)

Jenkins limits access to job configuration XML data (config.xml) to users with
Job/ExtendedRead permission, typically implied by Job/Configure permission.
Project Inheritance Plugin has several job inspection features, including the
API URL /job/??/getConfigAsXML for its Inheritance Project job type that does
something similar.

Project Inheritance Plugin 19.08.02 and earlier does not check permissions for
this new endpoint, granting access to job configuration XML data to every user
with Job/Read permission.

Additionally, the encrypted values of secrets stored in the job configuration
are not redacted, as they would be by the config.xml API for users without Job/
Configure permission.

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

XSS vulnerability in Subversion Partial Release Manager Plugin

SECURITY-1726 / CVE-2020-2199

Subversion Partial Release Manager Plugin 1.0.1 and earlier does not escape the
error message for the repository URL field form validation.

This results in a reflected cross-site scripting (XSS) vulnerability that can
also be exploited similar to a stored cross-site scripting vulnerability by
users with Job/Configure permission.

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

OS command injection vulnerability in Play Framework Plugin

SECURITY-1879 / CVE-2020-2200

A form validation endpoint in Play Framework Plugin executes the play command
to validate a given input file.

Play Framework Plugin 1.0.2 and earlier lets users specify the path to the play
command on the Jenkins master. This results in an OS command injection
vulnerability exploitable by users able to store such a file on the Jenkins
master (e.g. through archiving artifacts).

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

Severity

  * SECURITY-1200: Medium
  * SECURITY-1582: Medium
  * SECURITY-1726: Medium
  * SECURITY-1766: High
  * SECURITY-1837: Medium
  * SECURITY-1841: Medium
  * SECURITY-1842: Medium
  * SECURITY-1866: Medium
  * SECURITY-1879: High

Affected Versions

  * Compact Columns Plugin up to and including 1.11
  * ECharts API Plugin up to and including 4.7.0-3
  * Play Framework Plugin up to and including 1.0.2
  * Project Inheritance Plugin up to and including 19.08.02
  * Script Security Plugin up to and including 1.72
  * Selenium Plugin up to and including 3.141.59
  * Self-Organizing Swarm Plug-in Modules Plugin up to and including 3.20
  * Subversion Partial Release Manager Plugin up to and including 1.0.1

Fix

  * Compact Columns Plugin should be updated to version 1.12
  * ECharts API Plugin should be updated to version 4.7.0-4
  * Script Security Plugin should be updated to version 1.73
  * Self-Organizing Swarm Plug-in Modules Plugin should be updated to version
    3.21

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:

  * Play Framework Plugin
  * Project Inheritance Plugin
  * Selenium Plugin
  * Subversion Partial Release Manager Plugin

Credit

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

  * Daniel Beck, CloudBees, Inc. for SECURITY-1879
  * Daniel Beck, CloudBees, Inc. and, independently, Markus Winter, SAP SE for
    SECURITY-1582
  * Oleg Nenashev, CloudBees, Inc. for SECURITY-1200
  * Tobias Gruetzmacher for SECURITY-1837
  * Wadeck Follonier, CloudBees, Inc. for SECURITY-1726, SECURITY-1841,
    SECURITY-1842, SECURITY-1866
  * Wadeck Follonier, CloudBees, Inc. and Daniel Beck, CloudBees, Inc. for
    SECURITY-1766

- --------------------------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

iQIVAwUBXtm9G+NLKJtyKPYoAQhdIA/+JjS3X1nCo/d1XXr0kQon8Z/ZAYF4jjym
9T4dAWvPXMqmBWe+L/9+43Ip563x/ScaK3668IdANMUsr0VW26hGM7NQs2ZZedUG
nsQUPwrZqelfOdypmLK8Tu8E00k0dz2FyYYYoZzb+22BDubgoE38dUqgl42pyqDR
QuheiTDHdj8hriMQpdD8DOt4vpzG5bd3rr4j5EyXmm71ShSfHfI0c6bwjWmJpN0j
EZqO0FsbvlLTOWF37IDDKS9DHb9OTKahqmuZrAhUD0X1P3z+kQmYPUgCPdOQn7b2
+xOQq+PeDaXLypqRMM61dsr1Yb9bANMwu37TF8cydlA+ZiRfNfuE8f/WRqPmRolR
Cnf4Hxq+rxyIoUL6Vr19VFj63AHEoRg+xDTzLRO70D46XZNHHda85AxAZjen/AoG
UfZQWn7pA28bocrgyrOKaWtki1YD/4WCP1yNzXfXRsLybh0+VZFTmERS2Um76u/T
jUVh19On7/QbqboTr8sz8MKxVxND0ioRjhxO+Ad14cKwVZygDDGvmmOa46LJZEdX
P+t/oB94Qufrt33PODG8yvlU3JxvmL3JEyJL+dWVciovdjW9wPfXBB5FbMUpwTTN
99ENsTewi8DdYGOjLOjDGydDKDeA7YxsMpQHi9m7m48n/qj6gOSp+1WEdTUcCDUM
qOry6O6UM8c=
=pb6J
-----END PGP SIGNATURE-----