-----BEGIN PGP SIGNED MESSAGE-----
AUSCERT External Security Bulletin Redistribution
Jenkins Security Advisory 2019-09-12
13 September 2019
AusCERT Security Bulletin Summary
Product: Jenkins plugins
Operating System: Windows
UNIX variants (UNIX, Linux, OSX)
Impact/Access: Execute Arbitrary Code/Commands -- Existing Account
Cross-site Scripting -- Existing Account
Access Confidential Data -- Existing Account
Unauthorised Access -- Existing Account
Reduced Security -- Existing Account
CVE Names: CVE-2019-10400 CVE-2019-10399 CVE-2019-10398
CVE-2019-10397 CVE-2019-10396 CVE-2019-10395
CVE-2019-10394 CVE-2019-10393 CVE-2019-10392
- --------------------------BEGIN INCLUDED TEXT--------------------
Jenkins Security Advisory 2019-09-12
This advisory announces vulnerabilities in the following Jenkins deliverables:
o Aqua Security Serverless Scanner Plugin
o Beaker builder Plugin
o Build Environment Plugin
o Dashboard View Plugin
o Git client Plugin
o Script Security Plugin
System command execution vulnerability in Git client Plugin
SECURITY-1534 / CVE-2019-10392
Git client Plugin accepts user-specified values as argument to an invocation of
git ls-remote to validate the existence of a Git repository at the specified
URL. This was implemented in a way that allowed attackers with Job/Configure
permission to execute an arbitrary system command on the Jenkins master as the
OS user that the Jenkins process is running as.
Git client Plugin now rejects repository URLs that do not appear to be valid
URLs. Additionally, for versions of Git that support it, the repository URL
argument is separated from option arguments using the -- separator to prevent
interpretation as an option.
As of publication of this advisory, no update for users of prerelease versions
of 3.x such as 3.0.0-rc is available. Users of Git client Plugin 3.0.0-rc are
advised to downgrade to 2.8.5 (and downgrade Git Plugin from 4.0.0-rc to the
latest 3.x release to resolve dependency problems).
Sandbox bypass vulnerability in Script Security Plugin
SECURITY-1538 / CVE-2019-10393, CVE-2019-10394, CVE-2019-10399, CVE-2019-10400
Sandbox protection in Script Security Plugin could be circumvented through any
of the following:
o Crafted method names in method call expressions (CVE-2019-10393)
o Crafted property names in property expressions on the left-hand side of
assignment expressions (CVE-2019-10394)
o Crafted property names in property expressions in increment and decrement
o Crafted subexpressions in increment and decrement expressions not involving
actual assignment (CVE-2019-10400)
This allowed attackers able to specify and run sandboxed scripts to execute
arbitrary code in the context of the Jenkins master JVM.
These expressions are now subject to sandbox protection.
Stored XSS vulnerability in Build Environment Plugin
SECURITY-1476 / CVE-2019-10395
Build Environment Plugin did not escape values of environment variables shown
on its views. This resulted in a cross-site scripting vulnerability exploitable
by attackers able to control the values of build environment variables,
typically users with Job/Configure or Job/Build permission.
Jenkins applies the missing escaping by default since 2.146 and LTS 2.138.2, so
newer Jenkins releases are not affected by this vulnerability.
Build Environment Plugin now escapes all variables displayed in its views.
Stored XSS vulnerability in Dashboard View Plugin
SECURITY-1489 / CVE-2019-10396
Dashboard View Plugin did not escape the build description on the Latest Builds
View. This resulted in a cross-site scripting vulnerability exploitable by
attackers able to control the description of builds shown on that view.
Dashboard View Plugin now applies the configured markup formatter to the build
description, rendering it as it appears elsewhere in Jenkins.
Aqua Security Serverless Scanner Plugin showed plain text password in job
configuration form fields
SECURITY-1509 / CVE-2019-10397
Aqua Security Serverless Scanner Plugin stores service passwords in job
While the password is stored encrypted on disk, it was transmitted in plain
text as part of the configuration form. This could result in exposure of the
password through browser extensions, cross-site scripting vulnerabilities, and
Aqua Security Serverless Scanner Plugin no longer transmits the password form
field in plain text.
Beaker builder Plugin stored credentials in plain text
SECURITY-1545 / CVE-2019-10398
Beaker builder Plugin stored the Beaker password unencrypted on the Jenkins
master. This password could be viewed by users with access to the master file
Beaker builder Plugin now stores these credentials encrypted.
o SECURITY-1476: Medium
o SECURITY-1489: Medium
o SECURITY-1509: Low
o SECURITY-1534: High
o SECURITY-1538: High
o SECURITY-1545: Low
o Aqua Security Serverless Scanner Plugin up to and including 1.0.4
o Beaker builder Plugin up to and including 1.9
o Build Environment Plugin up to and including 1.6
o Dashboard View Plugin up to and including 2.11
o Git client Plugin up to and including 2.8.4
o Script Security Plugin up to and including 1.62
o Aqua Security Serverless Scanner Plugin should be updated to version 1.0.5
o Beaker builder Plugin should be updated to version 1.10
o Build Environment Plugin should be updated to version 1.7
o Dashboard View Plugin should be updated to version 2.12
o Git client Plugin should be updated to version 2.8.5
o Script Security Plugin should be updated to version 1.63
These versions include fixes to the vulnerabilities described above. All prior
versions are considered to be affected by these vulnerabilities unless
The Jenkins project would like to thank the reporters for discovering and
reporting these vulnerabilities:
o Francesco Soncina - ABN AMRO Red Team - https://iwantmore.pizza for
o James Holderness, IB Boost for SECURITY-1509, SECURITY-1545
o Nils Emmerich of ERNW Research GmbH for SECURITY-1538
o Viktor Gazdag NCC Group for SECURITY-1476, SECURITY-1489
- --------------------------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 email@example.com
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:
Australian Computer Emergency Response Team
The University of Queensland
Internet Email: firstname.lastname@example.org
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-----
-----END PGP SIGNATURE-----