Protect yourself against future threats.
-----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-----