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

                                CERT-Renater

                     Note d'Information No. 2022/VULN423

_____________________________________________________________________

DATE                : 17/11/2022

HARDWARE PLATFORM(S): /

OPERATING SYSTEM(S): Systems running Jenkins plugins.

=====================================================================
https://www.jenkins.io/security/advisory/2022-11-15/
_____________________________________________________________________

Jenkins Security Advisory 2022-11-15
This advisory announces vulnerabilities in the following Jenkins
deliverables:


Associated Files Plugin
BART Plugin
CCCC Plugin
CloudBees Docker Hub/Registry Notification Plugin
Cluster Statistics Plugin
Config Rotator Plugin
Delete log Plugin
JAPEX Plugin
JUnit Plugin
loader.io Plugin
Naginator Plugin
NS-ND Integration Performance Publisher Plugin
NS-ND Integration Performance Publisher Plugin
OSF Builder Suite : : XML Linter Plugin
Pipeline Utility Steps Plugin
Pipeline Utility Steps Plugin
Reverse Proxy Auth Plugin
Script Security Plugin
SourceMonitor Plugin
Support Core Plugin
Violations Plugin
XP-Dev Plugin


Descriptions

Whole-script approval in Script Security Plugin vulnerable
to SHA-1 collisions
SECURITY-2564 / CVE-2022-45379
Severity (CVSS): High
Affected plugin: script-security

Description:
Script Security Plugin 1189.vb_a_b_7c8fd5fde and earlier
stores whole-script approvals as the SHA-1 hash of the approved
script. SHA-1 no longer meets the security standards for
producing a cryptographically secure message digest.

Script Security Plugin 1190.v65867a_a_47126 uses SHA-512 for new
whole-script approvals. Previously approved scripts will have
their SHA-1 based whole-script approval replaced with a
corresponding SHA-512 whole-script approval when the script is
next used.

Whole-script approval only stores the SHA-1 or SHA-512 hash, so
it is not possible to migrate all previously approved scripts
automatically on startup.

Administrators concerned about SHA-1 collision attacks on the
whole-script approval feature are able to revoke all previous
(SHA-1) script approvals on the In-Process Script Approval page.


Stored XSS vulnerability in JUnit Plugin
SECURITY-2888 / CVE-2022-45380
Severity (CVSS): High
Affected plugin: junit

Description:
JUnit Plugin 1159.v0b_396e1e07dd and earlier converts HTTP(S)
URLs in test report output to clickable links.

This is done in an unsafe manner, resulting in a stored
cross-site scripting (XSS) vulnerability exploitable by
attackers with Item/Configure permission.

JUnit Plugin 1160.vf1f01a_a_ea_b_7f no longer converts URLs
to clickable links.


Remote code execution vulnerability in Pipeline Utility Steps
Plugin
SECURITY-2948 / CVE-2022-33980
Severity (CVSS): High
Affected plugin: pipeline-utility-steps

Description:
Pipeline Utility Steps Plugin implements a readProperties
Pipeline step that supports interpolation of variables using
the Apache Commons Configuration library.

Pipeline Utility Steps Plugin 2.13.0 and earlier does not
restrict the set of enabled prefix interpolators and bundles
versions of this library with the vulnerability CVE-2022-33980.

This vulnerability allows attackers able to configure Pipelines
to execute arbitrary code in the context of the Jenkins
controller JVM.

Pipeline Utility Steps Plugin 2.13.1 bundles version 2.8.0 of
the Apache Commons Configuration library, which disables the
problematic prefix interpolators by default.


Arbitrary file read vulnerability in Pipeline Utility Steps
Plugin
SECURITY-2949 / CVE-2022-45381
Severity (CVSS): High
Affected plugin: pipeline-utility-steps

Description:
Pipeline Utility Steps Plugin implements a readProperties
Pipeline step that supports interpolation of variables using
the Apache Commons Configuration library.

Pipeline Utility Steps Plugin 2.13.1 and earlier does not
restrict the set of enabled prefix interpolators and bundles
versions of this library that enable the file: prefix
interpolator by default.

This allows attackers able to configure Pipelines to read
arbitrary files from the Jenkins controller file system.

Pipeline Utility Steps Plugin 2.13.2 restricts the set of
prefix interpolators enabled by default to base64Decoder:,
base64Encoder:, date:, urlDecoder:, and urlEncoder:.

Administrators can set the Java system property
org.jenkinsci.plugins.pipeline.utility.steps.conf.ReadPropertiesStepExecution.CUSTOM_PREFIX_INTERPOLATOR_LOOKUPS 

to customize which prefix interpolators are enabled.


Stored XSS vulnerability in Naginator Plugin
SECURITY-2946 / CVE-2022-45382
Severity (CVSS): High
Affected plugin: naginator

Description:
Naginator Plugin 1.18.1 and earlier does not escape
display names of source builds in builds that were
triggered via Retry action.

This results in a stored cross-site scripting (XSS)
vulnerability exploitable by attackers able to edit
build display names.

Naginator Plugin 1.18.2 escapes display names of
source builds.


Incorrect permission checks in Support Core Plugin
SECURITY-2804 / CVE-2022-45383
Severity (CVSS): Medium
Affected plugin: support-core

Description:
Support Core Plugin defines the permission
Support/DownloadBundle that allows users without
Overall/Administer permission to create and download
support bundles containing a limited set of diagnostic
information.

Support Core Plugin 1206.v14049fa_b_d860 and earlier
does not correctly perform permission checks in several
HTTP endpoints.

This allows attackers with Support/DownloadBundle
permission to download a previously created support
bundle containing information limited to users with
Overall/Administer permission.

Support Core Plugin 1206.1208.v9b_7a_1d48db_0f
deprecates the Support/DownloadBundle permission.
The Overall/Administer permission is now required
to download support bundles.


Password stored in plain text by Reverse Proxy Auth Plugin
SECURITY-2094 / CVE-2022-45384
Severity (CVSS): Low
Affected plugin: reverse-proxy-auth-plugin
Description:
Reverse Proxy Auth Plugin 1.7.3 and earlier stores the
LDAP manager password unencrypted in the global
config.xml file on the Jenkins controller as part of its
configuration.

This password can be viewed by attackers with access to
the Jenkins controller file system.

Reverse Proxy Auth Plugin 1.7.4 stores the LDAP manager
password encrypted once its configuration is saved again.


Lack of authentication mechanism for webhook in CloudBees
Docker Hub/Registry Notification Plugin
SECURITY-2843 / CVE-2022-45385
Severity (CVSS): Medium
Affected plugin: dockerhub-notification

Description:
CloudBees Docker Hub/Registry Notification Plugin provides
several webhook endpoints that can be used to trigger builds
when Docker images used by a job have been rebuilt.

In CloudBees Docker Hub/Registry Notification Plugin 2.6.2
and earlier, these endpoints can be accessed without
authentication.

This allows unauthenticated attackers to trigger builds of
jobs corresponding to the attacker-specified repository.

CloudBees Docker Hub/Registry Notification Plugin 2.6.2.1
requires a token as a part of webhook URLs, which will act
as authentication for the webhook endpoint. As a result,
all webhook URLs in the plugin will be different after
updating the plugin.

Administrators can set the Java system property
org.jenkinsci.plugins.registry.notification.webhook.JSONWebHook.DO_NOT_REQUIRE_API_TOKEN 

to true to disable this fix.


Passwords stored in plain text by NS-ND Integration
Performance Publisher Plugin
SECURITY-2912 / CVE-2022-45392
Severity (CVSS): Medium
Affected plugin: cavisson-ns-nd-integration

Description:
NS-ND Integration Performance Publisher Plugin 4.8.0.143
and earlier stores passwords unencrypted in job
config.xml files on the Jenkins controller as part of
its configuration.

These passwords can be viewed by attackers with
Item/Extended Read permission or access to the Jenkins
controller file system.

NS-ND Integration Performance Publisher Plugin 4.8.0.146
stores passwords encrypted once job configurations are
saved again.

SSL/TLS certificate validation globally and unconditionally
disabled by NS-ND Integration Performance Publisher Plugin
SECURITY-2910 (1) / CVE-2022-45391
Severity (CVSS): Medium
Affected plugin: cavisson-ns-nd-integration

Description:
NS-ND Integration Performance Publisher Plugin 4.8.0.143 and
earlier globally and unconditionally disables SSL/TLS
certificate and hostname validation for the entire Jenkins
controller JVM.

NS-ND Integration Performance Publisher Plugin 4.8.0.146 no
longer disables SSL/TLS certificate and hostname validation
globally.

SSL/TLS certificate validation unconditionally disabled by
NS-ND Integration Performance Publisher Plugin
SECURITY-2910 (2) / CVE-2022-38666
Severity (CVSS): Medium
Affected plugin: cavisson-ns-nd-integration

Description:
NS-ND Integration Performance Publisher Plugin 4.8.0.146
and earlier unconditionally disables SSL/TLS certificate
and hostname validation for several features.

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


XXE vulnerability on agents in Violations Plugin
SECURITY-766 / CVE-2022-45386
Severity (CVSS): Medium
Affected plugin: violations

Description:
Violations Plugin 0.7.11 and earlier does not configure its
XML parser to prevent XML external entity (XXE) attacks.

This allows attackers to to control XML input files for the
'Report Violations' post-build step to have agent processes
parse a crafted file that uses external entities for
extraction of secrets from the Jenkins agent or server-side
request forgery.

Because Jenkins agent processes usually execute build tools
whose input (source code, build scripts, etc.) is controlled
externally, this vulnerability only has a real impact in very
narrow circumstances: when attackers can control XML files,
but are unable to change build steps, Jenkinsfiles, test code
that gets executed on the agents, or similar.
As of publication of this advisory, there is no fix. Learn
why we announce this.


Stored XSS vulnerability in BART Plugin
SECURITY-2802 / CVE-2022-45387
Severity (CVSS): High
Affected plugin: bart

Description:
BART Plugin 1.0.3 and earlier does not escape the parsed content
of build logs before rendering it on the Jenkins UI.

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

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


Arbitrary file read vulnerability in Config Rotator Plugin
SECURITY-2842 / CVE-2022-45388
Severity (CVSS): High
Affected plugin: config-rotator

Description:
Config Rotator Plugin 2.0.1 and earlier does not restrict a file
name query parameter in an HTTP endpoint.

This allows unauthenticated attackers to read arbitrary files with
.xml extension on the Jenkins controller file system.

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


Lack of authentication mechanism for webhook in XP-Dev Plugin
SECURITY-2853 / CVE-2022-45389
Severity (CVSS): Medium
Affected plugin: xpdev

Description:
XP-Dev Plugin provides a webhook endpoint at /xpdev-webhook
that can be used to trigger builds configured to use a
specified repository.

In XP-Dev Plugin 1.0 and earlier, this endpoint can be accessed
without authentication.

This allows unauthenticated attackers to trigger builds of
jobs corresponding to an attacker-specified repository.

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


Missing permission check in loader.io Plugin allows enumerating
credentials IDs
SECURITY-2857 / CVE-2022-45390
Severity (CVSS): Medium
Affected plugin: loaderio-jenkins-plugin

Description:
loader.io Plugin 1.0.1 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.

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


CSRF vulnerability and missing permission check in Delete
log Plugin
SECURITY-2920 / CVE-2022-45393 (CSRF), CVE-2022-45394
(missing permission check)
Severity (CVSS): Medium
Affected plugin: delete-log-plugin

Description:
Delete log Plugin 1.0 and earlier does not perform a
permission check in an HTTP endpoint.

This allows attackers with Item/Read permission to delete
build logs.

Additionally, this HTTP endpoint does not require POST
requests, resulting in a cross-site request forgery (CSRF)
vulnerability.

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


XXE vulnerability on agents in CCCC Plugin
SECURITY-2921 / CVE-2022-45395
Severity (CVSS): Medium
Affected plugin: cccc

Description:
CCCC Plugin 0.6 and earlier does not configure its XML
parser to prevent XML external entity (XXE) attacks.

This allows attackers able to control the contents of
the report file for the 'Publish CCCC Report' post-build
step to have agent processes parse a crafted file that
uses external entities for extraction of secrets from
the Jenkins agent or server-side request forgery.

Because Jenkins agent processes usually execute build
tools whose input (source code, build scripts, etc.)
is controlled externally, this vulnerability only has
a real impact in very narrow circumstances: when attackers
can control XML files, but are unable to change build
steps, Jenkinsfiles, test code that gets executed on
the agents, or similar.
As of publication of this advisory, there is no fix.
Learn why we announce this.


XXE vulnerability on agents in SourceMonitor Plugin
SECURITY-2927 / CVE-2022-45396
Severity (CVSS): Medium
Affected plugin: sourcemonitor

Description:
SourceMonitor Plugin 0.2 and earlier does not configure
its XML parser to prevent XML external entity (XXE) attacks.

This allows attackers able to control XML input files for
the 'Publish SourceMonitor results' post-build step to
have agent processes parse a crafted file that uses
external entities for extraction of secrets from the
Jenkins agent or server-side request forgery.

Because Jenkins agent processes usually execute build tools
whose input (source code, build scripts, etc.) is controlled
externally, this vulnerability only has a real impact in very
narrow circumstances: when attackers can control XML files,
but are unable to change build steps, Jenkinsfiles, test code
that gets executed on the agents, or similar.
As of publication of this advisory, there is no fix. Learn why
we announce this.


XXE vulnerability on agents in OSF Builder Suite : : XML Linter
Plugin
SECURITY-2937 / CVE-2022-45397
Severity (CVSS): Medium
Affected plugin: osf-builder-suite-xml-linter

Description:
OSF Builder Suite : : XML Linter 1.0.2 and earlier does not
configure its XML parser to prevent XML external entity (XXE)
attacks.

This allows attackers able to control XML files that get
processed by the 'OSF Builder Suite : : XML Linter' build
step to have agent processes parse a crafted file that uses
external entities for extraction of secrets from the Jenkins
agent or server-side request forgery.

Because Jenkins agent processes usually execute build tools
whose input (source code, build scripts, etc.) is controlled
externally, this vulnerability only has a real impact in very
narrow circumstances: when attackers can control XML files,
but are unable to change build steps, Jenkinsfiles, test code
that gets executed on the agents, or similar.
As of publication of this advisory, there is no fix. Learn
why we announce this.


CSRF vulnerability and missing permission check in Cluster
Statistics Plugin
SECURITY-2938 / CVE-2022-45398 (CSRF), CVE-2022-45399
(missing permission check)
Severity (CVSS): Medium
Affected plugin: cluster-stats

Description:
Cluster Statistics Plugin 0.4.6 and earlier does not perform
a permission check in an HTTP endpoint.

This allows attackers with Overall/Read permission to delete
recorded Jenkins Cluster Statistics.

Additionally, this HTTP endpoint does not require POST
requests, resulting in a cross-site request forgery (CSRF)
vulnerability.

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


XXE vulnerability in JAPEX Plugin
SECURITY-2941 / CVE-2022-45400
Severity (CVSS): High
Affected plugin: japex

Description:
JAPEX Plugin 1.7 and earlier does not configure its XML
parser to prevent XML external entity (XXE) attacks.

This allows attackers able to control XML input files for
the 'Record Japex test report' post-build step to have
Jenkins parse a crafted file 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.


Stored XSS vulnerability in Associated Files Plugin
SECURITY-2947 / CVE-2022-45401
Severity (CVSS): High
Affected plugin: associated-files

Description:
Associated Files Plugin 0.2.1 and earlier does not escape
names of associated files.

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

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


Severity
SECURITY-766: Medium
SECURITY-2094: Low
SECURITY-2564: High
SECURITY-2802: High
SECURITY-2804: Medium
SECURITY-2842: High
SECURITY-2843: Medium
SECURITY-2853: Medium
SECURITY-2857: Medium
SECURITY-2888: High
SECURITY-2910 (1): Medium
SECURITY-2910 (2): Medium
SECURITY-2912: Medium
SECURITY-2920: Medium
SECURITY-2921: Medium
SECURITY-2927: Medium
SECURITY-2937: Medium
SECURITY-2938: Medium
SECURITY-2941: High
SECURITY-2946: High
SECURITY-2947: High
SECURITY-2948: High
SECURITY-2949: High


Affected Versions

Associated Files Plugin up to and including 0.2.1
BART Plugin up to and including 1.0.3
CCCC Plugin up to and including 0.6
CloudBees Docker Hub/Registry Notification Plugin up to
   and including 2.6.2
Cluster Statistics Plugin up to and including 0.4.6
Config Rotator Plugin up to and including 2.0.1
Delete log Plugin up to and including 1.0
JAPEX Plugin up to and including 1.7
JUnit Plugin up to and including 1159.v0b_396e1e07dd
loader.io Plugin up to and including 1.0.1
Naginator Plugin up to and including 1.18.1
NS-ND Integration Performance Publisher Plugin up to
   and including 4.8.0.143
NS-ND Integration Performance Publisher Plugin up to and
   including 4.8.0.146
OSF Builder Suite : : XML Linter Plugin up to and
   including 1.0.2
Pipeline Utility Steps Plugin up to and including 2.13.0
Pipeline Utility Steps Plugin up to and including 2.13.1
Reverse Proxy Auth Plugin up to and including 1.7.3
Script Security Plugin up to and including 1189.vb_a_b_7c8fd5fde
SourceMonitor Plugin up to and including 0.2
Support Core Plugin up to and including 1206.v14049fa_b_d860
Violations Plugin up to and including 0.7.11
XP-Dev Plugin up to and including 1.0


Fix
CloudBees Docker Hub/Registry Notification Plugin should
   be updated to version 2.6.2.1
JUnit Plugin should be updated to version 1160.vf1f01a_a_ea_b_7f
Naginator Plugin should be updated to version 1.18.2
NS-ND Integration Performance Publisher Plugin should be
   updated to version 4.8.0.146
Pipeline Utility Steps Plugin should be updated to version 2.13.1
Pipeline Utility Steps Plugin should be updated to version 2.13.2
Reverse Proxy Auth Plugin should be updated to version 1.7.4
Script Security Plugin should be updated to version 1190.v65867a_a_47126
Support Core Plugin should be updated to version 1206.1208.v9b_7a_1d48db_0f

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:

Associated Files Plugin
BART Plugin
CCCC Plugin
Cluster Statistics Plugin
Config Rotator Plugin
Delete log Plugin
JAPEX Plugin
loader.io Plugin
NS-ND Integration Performance Publisher Plugin
OSF Builder Suite : : XML Linter Plugin
SourceMonitor Plugin
Violations Plugin
XP-Dev Plugin
Learn why we announce these issues.


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

Adrien Lecharpentier, CloudBees, Inc. for SECURITY-2804

CC Bomber, Kitri BoB for SECURITY-2920, SECURITY-2921, SECURITY-2927,
SECURITY-2937, SECURITY-2938, SECURITY-2941, SECURITY-2946,
SECURITY-2947

Daniel Beck, CloudBees, Inc. for SECURITY-766, SECURITY-2564,
SECURITY-2910 (1), SECURITY-2910 (2), SECURITY-2912

James Nord, CloudBees, Inc. for SECURITY-2949

Jesse Glick, CloudBees, Inc. for SECURITY-2094

Kevin Guerroudj, CloudBees, Inc. for SECURITY-2842, SECURITY-2843,
SECURITY-2853

Valdes Che Zogou, CloudBees, Inc. for SECURITY-2802, SECURITY-2857

Wadeck Follonier, CloudBees, Inc. for SECURITY-2888


=========================================================
+ CERT-RENATER        |    tel : 01-53-94-20-44         +
+ 23/25 Rue Daviel    |    fax : 01-53-94-20-41         +
+ 75013 Paris         |   email:cert@support.renater.fr +
=========================================================


