This advisory announces vulnerabilities in the following Jenkins deliverables:
Jenkins 2.367 through 2.369 (both inclusive) does not escape tooltips of the l:helpIcon
UI component used for some help icons on the Jenkins web UI.
This results in a stored cross-site scripting (XSS) vulnerability exploitable by attackers able to control tooltips for this component.
As of publication, the Jenkins security team is unaware of any exploitable help icon/tooltip in Jenkins core or plugins published by the Jenkins project.
The vast majority of help icons use the l:help component instead of l:helpIcon .
The few known instances of l:helpIcon do not have user-controllable tooltip contents.
|
Jenkins 2.370 escapes tooltips of the l:helpIcon
UI component.
anchore-container-scanner
Anchore Container Image Scanner Plugin 1.0.24 and earlier does not escape content provided by the Anchore engine API.
This results in a stored cross-site scripting (XSS) vulnerability exploitable by attackers able to control API responses by Anchore engine.
Anchore Container Image Scanner Plugin 1.0.25 escapes content provided by the Anchore engine API.
compuware-common-configuration
BMC AMI Common Configuration Plugin 1.0.14 and earlier does not configure its XML parser to prevent XML external entity (XXE) attacks.
This allows attackers able to change the contents of the Topaz Workbench CLI home directory on agents to have Jenkins parse a crafted file that uses external entities for extraction of secrets from the Jenkins controller or server-side request forgery.
BMC AMI Common Configuration Plugin 1.0.15 disables external entity resolution for its XML parser.
cavisson-ns-nd-integration
NS-ND Integration Performance Publisher Plugin 4.8.0.129 and earlier does not perform a permission check in a method implementing form validation.
This allows attackers with Overall/Read permission to connect to an attacker-specified webserver using attacker-specified username and password.
Additionally, this form validation method does not require POST requests, resulting in a cross-site request forgery (CSRF) vulnerability.
NS-ND Integration Performance Publisher Plugin 4.8.0.130 requires POST requests and Overall/Administer permission for the affected form validation method.
cavisson-ns-nd-integration
NS-ND Integration Performance Publisher Plugin 4.8.0.134 and earlier does not escape configuration options of the Execute NetStorm/NetCloud Test build step.
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.
build-publisher
build-publisher Plugin 1.22 and earlier does not perform a permission check in an HTTP endpoint.
This allows attackers with Overall/Read permission to obtain names and URLs of Jenkins servers that the plugin is configured to publish builds to, as well as builds pending for publication to those Jenkins servers.
As of publication of this advisory, there is no fix. Learn why we announce this.
build-publisher
build-publisher Plugin 1.22 and earlier allows attackers with Item/Configure permission to create or replace any config.xml
file on the Jenkins controller file system by providing a crafted file name to an API endpoint.
Additionally, this endpoint does not require POST requests, resulting in a cross-site request forgery (CSRF) vulnerability that allows attackers to replace any config.xml file on the Jenkins controller file system with an empty file.
As of publication of this advisory, there is no fix. Learn why we announce this.
rundeck
Rundeck Plugin 3.6.11 and earlier does not perform Run/Artifacts permission checks in multiple HTTP endpoints.
This allows attackers with Item/Read permission to obtain information about build artifacts of a given job, if the optional Run/Artifacts permission is enabled.
As of publication of this advisory, there is no fix. Learn why we announce this.
rundeck
Rundeck Plugin 3.6.11 and earlier does not protect access to the /plugin/rundeck/webhook/
endpoint.
This allows attackers with Item/Read permission to trigger jobs that are configured to be triggerable via Rundeck.
As of publication of this advisory, there is no fix. Learn why we announce this.
wildfly-deployer
WildFly Deployer Plugin 1.0.2 and earlier implements functionality that allows agent processes to read arbitrary files on the Jenkins controller file system.
This allows attackers able to control agent processes to read arbitrary files on the Jenkins controller file system.
This vulnerability is only exploitable in Jenkins 2.318 and earlier, LTS 2.303.2 and earlier. See the LTS upgrade guide. |
As of publication of this advisory, there is no fix. Learn why we announce this.
security-inspector
Security Inspector Plugin 117.v6eecc36919c2 and earlier does not require POST requests for an HTTP endpoint, resulting in a cross-site request forgery (CSRF) vulnerability.
This vulnerability allows attackers to replace the generated report stored in a per-session cache and displayed to authorized users at the …/report
URL with a report based on attacker-specified report generation options.
This could create confusion in users of the plugin who are expecting to see a different result.
A security hardening since Jenkins 2.287 and LTS 2.277.2 prevents exploitation of this vulnerability for the Single user, multiple jobs report. Other report types are still affected. |
As of publication of this advisory, there is no fix. Learn why we announce this.
DotCi
DotCi Plugin 2.40.00 and earlier does not configure its YAML parser to prevent the instantiation of arbitrary types.
This results in a remote code execution (RCE) vulnerability exploitable by attackers able to modify .ci.yml
files in SCM.
As of publication of this advisory, there is no fix. Learn why we announce this.
DotCi
DotCi Plugin provides a webhook endpoint at /githook/
that can be used to trigger builds of the job for a GitHub repository.
In DotCi Plugin 2.40.00 and earlier, this endpoint can be accessed without authentication.
This allows unauthenticated attackers to trigger builds of jobs corresponding to the attacker-specified repository for attacker-specified commits.
As of publication of this advisory, there is no fix. Learn why we announce this.
DotCi
DotCi Plugin 2.40.00 and earlier does not escape the GitHub user name parameter provided to commit notifications when displaying them in a build cause.
This results in a stored cross-site scripting (XSS) vulnerability exploitable by attackers able to submit crafted commit notifications to the /githook/
endpoint (see also SECURITY-2867).
This vulnerability is only exploitable in Jenkins 2.314 and earlier, LTS 2.303.1 and earlier. See the LTS upgrade guide. |
As of publication of this advisory, there is no fix. Learn why we announce this.
walti
Walti Plugin 1.0.1 and earlier does not escape the information provided by the Walti API.
This results in a stored cross-site scripting (XSS) vulnerability exploitable by attackers able to provide malicious API responses from Walti.
As of publication of this advisory, there is no fix. Learn why we announce this.
rqm-plugin
RQM Plugin 2.8 and earlier does not configure its XML parser to prevent XML external entity (XXE) attacks.
This allows attackers able to provide crafted API responses from Rational Quality Manager 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.
extreme-feedback
extreme-feedback Plugin 1.7 and earlier does not perform a permission check in an HTTP endpoint.
This allows attackers with Overall/Read permission to discover information about job names attached to lamps, discover MAC and IP addresses of existing lamps, and rename lamps.
As of publication of this advisory, there is no fix. Learn why we announce this.
smalltest
SmallTest Plugin 1.0.4 and earlier does not perform hostname validation when connecting to the configured SmallTest server.
This lack of validation could be abused using a man-in-the-middle attack to intercept these connections.
As of publication of this advisory, there is no fix. Learn why we announce this.
view26
View26 Test-Reporting Plugin 1.0.7 and earlier does not perform hostname validation when connecting to the configured View26 server.
This lack of validation could be abused using a man-in-the-middle attack to intercept these connections.
As of publication of this advisory, there is no fix. Learn why we announce this.
ws-execution-manager
Worksoft Execution Manager Plugin 10.0.3.503 and earlier does not perform a permission check in a method implementing form validation.
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.
Additionally, this form validation method 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.
bigpanda-jenkins
BigPanda Notifier Plugin 1.4.0 and earlier stores the BigPanda API key unencrypted in its global configuration file BigpandaGlobalNotifier.xml
on the Jenkins controller as part of its configuration.
This API key can be viewed by users with access to the Jenkins controller file system.
Additionally, the global configuration form does not mask the API key, increasing the potential for attackers to observe and capture it.
As of publication of this advisory, there is no fix. Learn why we announce this.
scm-httpclient
SCM HttpClient Plugin 1.5 and earlier does not perform permission check in a method implementing form validation.
This allows attackers with Overall/Read permission to connect to an attacker-specified HTTP server using attacker-specified credentials IDs obtained through another method, capturing credentials stored in Jenkins.
Additionally, this form validation method 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.
apprenda
Apprenda Plugin 2.2.0 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.
cons3rt
CONS3RT Plugin 1.0.0 and earlier does not perform permission checks in several HTTP endpoints.
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.
cons3rt
CONS3RT Plugin 1.0.0 and earlier does not perform permission checks in methods implementing form validation.
This allows attackers with Overall/Read permission to connect to an attacker-specified HTTP server using attacker-specified credentials IDs obtained through another method, capturing credentials stored in Jenkins.
Additionally, these form validation methods do 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.
cons3rt
CONS3RT Plugin 1.0.0 and earlier stores Cons3rt API token unencrypted in job config.xml
files on the Jenkins controller as part of its configuration.
This API token can be viewed by users with access to the Jenkins controller file system.
As of publication of this advisory, there is no fix. Learn why we announce this.
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:
Learn why we announce these issues.
The Jenkins project would like to thank the reporters for discovering and reporting these vulnerabilities: