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

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

                               ESB-2023.1710
                   Jenkins Security Advisory 2023-03-21
                               23 March 2023

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

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

Product:           AbsInt a3 Plugin
                   Convert To Pipeline Plugin
                   Cppcheck Plugin
                   Crap4J Plugin
                   JaCoCo Plugin
                   Mashup Portlets Plugin
                   OctoPerf Load Testing Plugin Plugin
                   Performance Publisher Plugin
                   Phabricator Differential Plugin
                   Pipeline Aggregator View Plugin
                   remote-jobs-view-plugin Plugin
                   Role-based Authorization Strategy Plugin
                   Visual Studio Code Metrics Plugin
Publisher:         Jenkins
Operating System:  UNIX variants (UNIX, Linux, OSX)
                   Windows
Resolution:        Patch/Upgrade
CVE Names:         CVE-2023-28685 CVE-2023-28684 CVE-2023-28683
                   CVE-2023-28682 CVE-2023-28681 CVE-2023-28680
                   CVE-2023-28679 CVE-2023-28678 CVE-2023-28677
                   CVE-2023-28676 CVE-2023-28675 CVE-2023-28674
                   CVE-2023-28673 CVE-2023-28672 CVE-2023-28671
                   CVE-2023-28670 CVE-2023-28669 CVE-2023-28668

Original Bulletin: 
   https://www.jenkins.io/security/advisory/2023-03-21/

Comment: CVSS (Max):  8.8 CVE-2023-28676 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H)
         CVSS Source: Jenkins
         Calculator:  https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

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

Jenkins Security Advisory 2023-03-21  

This advisory announces vulnerabilities in the following Jenkins deliverables:

  o AbsInt a3 Plugin
  o Convert To Pipeline Plugin
  o Cppcheck Plugin
  o Crap4J Plugin
  o JaCoCo Plugin
  o Mashup Portlets Plugin
  o OctoPerf Load Testing Plugin Plugin
  o OctoPerf Load Testing Plugin Plugin
  o OctoPerf Load Testing Plugin Plugin
  o Performance Publisher Plugin
  o Phabricator Differential Plugin
  o Pipeline Aggregator View Plugin
  o remote-jobs-view-plugin Plugin
  o Role-based Authorization Strategy Plugin
  o Visual Studio Code Metrics Plugin

Descriptions  

Incorrect permission checks in Role-based Authorization Strategy Plugin  

SECURITY-3053 / CVE-2023-28668
Severity (CVSS): Medium
Affected plugin: role-strategy
Description:

Permissions in Jenkins can be enabled and disabled. Some permissions are
disabled by default, e.g., Overall/Manage or Item/Extended Read. Disabled
permissions cannot be granted directly, only through greater permissions that
imply them (e.g., Overall/Administer or Item/Configure).

Role-based Authorization Strategy Plugin 587.v2872c41fa_e51 and earlier grants
permissions even after they've been disabled.

This allows attackers to have greater access than they're entitled to after the
following operations took place:

 1. A permission is granted to attackers directly or through groups.

 2. The permission is disabled, e.g., through the script console.

Role-based Authorization Strategy Plugin 587.588.v850a_20a_30162 does not grant
disabled permissions.

Stored XSS vulnerability in JaCoCo Plugin  

SECURITY-3061 / CVE-2023-28669
Severity (CVSS): High
Affected plugin: jacoco
Description:

JaCoCo Plugin 3.3.2 and earlier does not escape class and method names shown on
the UI.

This results in a stored cross-site scripting (XSS) vulnerability exploitable
by attackers able to control input files for the 'Record JaCoCo coverage
report' post-build action.

JaCoCo Plugin 3.3.2.1 escapes class and method names shown on the UI.

Stored XSS vulnerability in Pipeline Aggregator View Plugin  

SECURITY-2885 / CVE-2023-28670
Severity (CVSS): High
Affected plugin: pipeline-aggregator-view
Description:

Pipeline Aggregator View Plugin 1.13 and earlier does not escape a variable
representing the current view's URL in inline JavaScript.

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

Pipeline Aggregator View Plugin 1.14 obtains the current URL in a way not
susceptible to XSS.

CSRF vulnerability in OctoPerf Load Testing Plugin Plugin  

SECURITY-3067 (1) / CVE-2023-28671
Severity (CVSS): Medium
Affected plugin: octoperf
Description:

OctoPerf Load Testing Plugin Plugin 4.5.0 and earlier does not require POST
requests for a connection test HTTP endpoint, resulting in a cross-site request
forgery (CSRF) vulnerability.

This vulnerability allows attackers to connect to an attacker-specified URL
using attacker-specified credentials IDs obtained through another method,
capturing credentials stored in Jenkins.

OctoPerf Load Testing Plugin Plugin 4.5.1 requires POST requests for the
affected connection test HTTP endpoint.

Missing permission check in OctoPerf Load Testing Plugin Plugin  

SECURITY-3067 (2) / CVE-2023-28672
Severity (CVSS): High
Affected plugin: octoperf
Description:

OctoPerf Load Testing Plugin Plugin 4.5.1 and earlier does not perform a
permission check in a connection test HTTP endpoint.

This allows attackers with Overall/Read permission to connect to an
attacker-specified URL using attacker-specified credentials IDs obtained
through another method, capturing credentials stored in Jenkins.

OctoPerf Load Testing Plugin Plugin 4.5.2 properly performs a permission check
when accessing the affected connection test HTTP endpoint.

Missing permission check in OctoPerf Load Testing Plugin Plugin allows
enumerating credentials IDs  

SECURITY-3067 (3) / CVE-2023-28673
Severity (CVSS): Medium
Affected plugin: octoperf
Description:

OctoPerf Load Testing Plugin Plugin 4.5.2 and earlier does not perform a
permission check in an HTTP endpoint.

This allows attackers with Overall/Read permission to enumerate credentials IDs
of credentials stored in Jenkins. Those can be used as part of an attack to
capture the credentials using another vulnerability.

An enumeration of credentials IDs in OctoPerf Load Testing Plugin Plugin 4.5.3
requires the appropriate permissions.

CSRF vulnerability and missing permission checks in OctoPerf Load Testing
Plugin Plugin  

SECURITY-3067 (4) / CVE-2023-28674 (CSRF), CVE-2023-28675 (missing permission
check)
Severity (CVSS): Medium
Affected plugin: octoperf
Description:

OctoPerf Load Testing Plugin Plugin 4.5.2 and earlier does not perform
permission checks in several HTTP endpoints.

This allows attackers with Overall/Read permission to connect to a previously
configured Octoperf server using attacker-specified credentials.

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

OctoPerf Load Testing Plugin Plugin 4.5.3 requires POST requests and the
appropriate permissions for the affected HTTP endpoints.

CSRF vulnerability in Convert To Pipeline Plugin results in RCE  

SECURITY-2963 / CVE-2023-28676
Severity (CVSS): High
Affected plugin: convert-to-pipeline
Description:

Convert To Pipeline Plugin 1.0 and earlier does not require POST requests for
the HTTP endpoint converting a Freestyle project to Pipeline, resulting in a
cross-site request forgery (CSRF) vulnerability.

This vulnerability allows attackers to create a Pipeline based on a Freestyle
project. Combined with SECURITY-2966, this can result in the execution of
unsandboxed Pipeline scripts.

As of publication of this advisory, there is no fix. Learn why we announce
this.

Command injection vulnerability in Convert To Pipeline Plugin results in RCE  

SECURITY-2966 / CVE-2023-28677
Severity (CVSS): High
Affected plugin: convert-to-pipeline
Description:

Convert To Pipeline Plugin 1.0 and earlier uses basic string concatenation to
convert Freestyle projects' Build Environment, Build Steps, and Post-build
Actions to the equivalent Pipeline step invocations.

This allows attackers able to configure Freestyle projects to prepare a crafted
configuration that injects Pipeline script code into the (unsandboxed) Pipeline
resulting from a conversion by Convert To Pipeline Plugin. If an administrator
converts the Freestyle project to a Pipeline, the script will be pre-approved.

As of publication of this advisory, there is no fix. Learn why we announce
this.

Stored XSS vulnerability in Cppcheck Plugin  

SECURITY-2809 / CVE-2023-28678
Severity (CVSS): High
Affected plugin: cppcheck
Description:

Cppcheck Plugin 1.26 and earlier does not escape file names from Cppcheck
report files before showing them on the Jenkins UI.

This results in a stored cross-site scripting (XSS) vulnerability exploitable
by attackers able to control report file contents.

As of publication of this advisory, there is no fix. Learn why we announce
this.

Stored XSS vulnerability in Mashup Portlets Plugin  

SECURITY-2813 / CVE-2023-28679
Severity (CVSS): High
Affected plugin: mashup-portlets-plugin
Description:

Mashup Portlets Plugin 1.1.2 and earlier provides the "Generic JS Portlet"
feature that lets a user populate a portlet using a custom JavaScript
expression.

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

As of publication of this advisory, there is no fix. Learn why we announce
this.

XXE vulnerability in Crap4J Plugin  

SECURITY-2925 / CVE-2023-28680
Severity (CVSS): High
Affected plugin: crap4j
Description:

Crap4J Plugin 0.9 and earlier does not configure its XML parser to prevent XML
external entity (XXE) attacks.

This allows attackers able to control Crap Report file contents to have Jenkins
parse a crafted XML document that uses external entities for extraction of
secrets from the Jenkins controller or server-side request forgery.

As of publication of this advisory, there is no fix. Learn why we announce
this.

XXE vulnerability in Visual Studio Code Metrics Plugin  

SECURITY-2926 / CVE-2023-28681
Severity (CVSS): High
Affected plugin: vs-code-metrics
Description:

Visual Studio Code Metrics Plugin 1.7 and earlier does not configure its XML
parser to prevent XML external entity (XXE) attacks.

This allows attackers able to control VS Code Metrics File contents to have
Jenkins parse a crafted XML document that uses external entities for extraction
of secrets from the Jenkins controller or server-side request forgery.

As of publication of this advisory, there is no fix. Learn why we announce
this.

XXE vulnerability in Performance Publisher Plugin  

SECURITY-2928 / CVE-2023-28682
Severity (CVSS): High
Affected plugin: perfpublisher
Description:

Performance Publisher Plugin 8.09 and earlier does not configure its XML parser
to prevent XML external entity (XXE) attacks.

This allows attackers able to control PerfPublisher report files to have
Jenkins parse a crafted XML document that uses external entities for extraction
of secrets from the Jenkins controller or server-side request forgery.

As of publication of this advisory, there is no fix. Learn why we announce
this.

XXE vulnerability in Phabricator Differential Plugin  

SECURITY-2942 / CVE-2023-28683
Severity (CVSS): High
Affected plugin: phabricator-plugin
Description:

Phabricator Differential Plugin 2.1.5 and earlier does not configure its XML
parser to prevent XML external entity (XXE) attacks.

This allows attackers able to control coverage report file contents for the
'Post to Phabricator' post-build action to have Jenkins parse a crafted XML
document that uses external entities for extraction of secrets from the Jenkins
controller or server-side request forgery.

As of publication of this advisory, there is no fix. Learn why we announce
this.

XXE vulnerability in remote-jobs-view-plugin Plugin  

SECURITY-2956 / CVE-2023-28684
Severity (CVSS): High
Affected plugin: remote-jobs-view-plugin
Description:

remote-jobs-view-plugin Plugin 0.0.3 and earlier does not configure its XML
parser to prevent XML external entity (XXE) attacks.

This allows authenticated attackers with Overall/Read permission to have
Jenkins parse a crafted XML document that uses external entities for extraction
of secrets from the Jenkins controller or server-side request forgery.

As of publication of this advisory, there is no fix. Learn why we announce
this.

XXE vulnerability in AbsInt a3 Plugin  

SECURITY-2930 / CVE-2023-28685
Severity (CVSS): High
Affected plugin: absint-a3
Description:

AbsInt a3 Plugin 1.1.0 and earlier does not configure its XML parser to prevent
XML external entity (XXE) attacks.

This allows attackers able to control 'Project File (APX)' contents to have
Jenkins parse a crafted XML document that uses external entities for extraction
of secrets from the Jenkins controller or server-side request forgery.

As of publication of this advisory, there is no fix. Learn why we announce
this.

Severity  

  o SECURITY-2809: High
  o SECURITY-2813: High
  o SECURITY-2885: High
  o SECURITY-2925: High
  o SECURITY-2926: High
  o SECURITY-2928: High
  o SECURITY-2930: High
  o SECURITY-2942: High
  o SECURITY-2956: High
  o SECURITY-2963: High
  o SECURITY-2966: High
  o SECURITY-3053: Medium
  o SECURITY-3061: High
  o SECURITY-3067 (1): Medium
  o SECURITY-3067 (2): High
  o SECURITY-3067 (3): Medium
  o SECURITY-3067 (4): Medium

Affected Versions  

  o AbsInt a3 Plugin up to and including 1.1.0
  o Convert To Pipeline Plugin up to and including 1.0
  o Cppcheck Plugin up to and including 1.26
  o Crap4J Plugin up to and including 0.9
  o JaCoCo Plugin up to and including 3.3.2
  o Mashup Portlets Plugin up to and including 1.1.2
  o OctoPerf Load Testing Plugin Plugin up to and including 4.5.0
  o OctoPerf Load Testing Plugin Plugin up to and including 4.5.1
  o OctoPerf Load Testing Plugin Plugin up to and including 4.5.2
  o Performance Publisher Plugin up to and including 8.09
  o Phabricator Differential Plugin up to and including 2.1.5
  o Pipeline Aggregator View Plugin up to and including 1.13
  o remote-jobs-view-plugin Plugin up to and including 0.0.3
  o Role-based Authorization Strategy Plugin up to and including
    587.v2872c41fa_e51
  o Visual Studio Code Metrics Plugin up to and including 1.7

Fix  

  o JaCoCo Plugin should be updated to version 3.3.2.1
  o OctoPerf Load Testing Plugin Plugin should be updated to version 4.5.1
  o OctoPerf Load Testing Plugin Plugin should be updated to version 4.5.2
  o OctoPerf Load Testing Plugin Plugin should be updated to version 4.5.3
  o Pipeline Aggregator View Plugin should be updated to version 1.14
  o Role-based Authorization Strategy Plugin should be updated to version
    587.588.v850a_20a_30162

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 AbsInt a3 Plugin
  o Convert To Pipeline Plugin
  o Cppcheck Plugin
  o Crap4J Plugin
  o Mashup Portlets Plugin
  o Performance Publisher Plugin
  o Phabricator Differential Plugin
  o remote-jobs-view-plugin Plugin
  o Visual Studio Code Metrics Plugin

Learn why we announce these issues.

Credit  

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

  o CC Bomber, Kitri BoB for SECURITY-2925, SECURITY-2926, SECURITY-2928,
    SECURITY-2930, SECURITY-2942, SECURITY-2963
  o Daniel Beck, CloudBees, Inc. and Kevin Guerroudj, CloudBees, Inc. for
    SECURITY-2809
  o Daniel Beck, CloudBees, Inc. and Yaroslav Afenkin, CloudBees, Inc. for
    SECURITY-3053
  o Kevin Guerroudj, CloudBees, Inc. for SECURITY-2885, SECURITY-3061
  o LaNyer640 & Crilwa for SECURITY-2956
  o Valdes Che Zogou, CloudBees, Inc. for SECURITY-2813
  o Yaroslav Afenkin, CloudBees, Inc. for SECURITY-2966, SECURITY-3067 (1),
    SECURITY-3067 (2), SECURITY-3067 (3), SECURITY-3067 (4)

- --------------------------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: https://auscert.org.au/gpg-key/

iQIVAwUBZBuGgMkNZI30y1K9AQjNiBAAnBQLrR+MSpP1c2QLK7v1DBkfYZsabGET
Gtqz8huA7C00prrlu74MwP6sRVWOzPtbluHYIivM96957Hzozw54tSoAm5n62HfY
KCxCj7eNnfAwsJnHcnIo0EYCgXl7fU+lOJHF8mO+C5941bcFJJt3hfylqDL2Hsss
DGt7Wl/DQtLal+oO0NGXd30jNrRE1tnc8GgBFGC6yb83mvyVX0IYjMEyRPghcR+H
rhasydsHm8AURMxe9mdOHpUUJ5mi0tk+ML1tG/3bc3t7OzuBdb/1075P1mZMZhAB
8NKRDLYIWKoJHE656F1lqlWpK3xoSsxcd2nrGi+k+79Z1D6kif1gKVJUmJ9fl5Od
TPtZt8jMIDBodHxTWicm2+DBB93wNgaShmehdhyC+9hF3FohG/QRNKryT97QuZ4x
P3HeVAwKazJcafO2RnDN/8IqTUDfCY0CnHUN9wm/3uGeQ2zVbyrM+ZDUYTxMiZTp
O67E9pTuYAaAO6rIuRakj4pbXDMapz1y9zvAyZpA+YMe/G1MNkDRSxsBdSEdRVIB
JVIdZB3HQEI2RZSmp/KLWyZ/gjCVkoybN2OEtGkJelMQmYnfKuI7FgJexFwpSAYj
c0gF/e5H5GZ3Br509V1wKoJkpv4scxlOc6N18nnjB6j0GK7AwFzv+oIWICwyR4+g
3hGE1uVD2l8=
=lhQk
-----END PGP SIGNATURE-----