This advisory announces vulnerabilities in the following Jenkins deliverables:
script-security
Script Security Plugin 1.72 and earlier does not correctly escape pending or approved classpath entries on the In-process Script Approval page.
This results in a stored cross-site scripting (XSS) vulnerability exploitable by users able to configure sandboxed scripts.
Script Security Plugin 1.73 escapes pending and approved classpath entries before rendering them in the Jenkins UI.
swarm
Swarm Plugin adds API endpoints to add or remove agent labels. In Swarm Plugin 3.20 and earlier these only require a global Swarm secret to use, and no regular permission check is performed. This allows users with Agent/Create permission to add or remove labels of any agent.
Additionally, these API endpoints do not require POST requests, resulting in a cross-site request forgery (CSRF) vulnerability.
Swarm Plugin 3.21 requires POST requests and Agent/Configure permission for the affected agent to these endpoints. It no longer uses the global Swarm secret for these API endpoints.
echarts-api
ECharts API Plugin 4.7.0-3 and earlier does not escape the parser identifier when rendering charts.
This results in a stored cross-site scripting (XSS) vulnerability that can be exploited by users with Job/Configure permission.
ECharts API Plugin 4.7.0-4 escapes the parser identifier.
echarts-api
ECharts API Plugin 4.7.0-3 and earlier does not escape the display name of the builds in the trend chart.
This results in a stored cross-site scripting (XSS) vulnerability that can be exploited by users with Run/Update permission.
ECharts API Plugin 4.7.0-4 escapes the display name.
compact-columns
Compact Columns Plugin 1.11 and earlier displays the unprocessed job description in tooltips.
This results in a stored cross-site scripting vulnerability that can be exploited by users with Job/Configure permission.
Compact Columns Plugin 1.12 applies the configured markup formatter to the job description shown in tooltips.
selenium
Selenium Plugin 3.141.59 and earlier has no CSRF protection for its HTTP endpoints.
This allows attackers to perform the following actions:
Restart the Selenium Grid hub.
Delete or replace the plugin configuration.
Start, stop, or restart Selenium configurations on specific nodes.
Through carefully chosen configuration parameters, these actions can result in OS command injection on the Jenkins controller.
As of publication of this advisory, there is no fix.
project-inheritance
Jenkins limits access to job configuration XML data (config.xml
) to users with Job/ExtendedRead permission, typically implied by Job/Configure permission.
Project Inheritance Plugin has several job inspection features, including the API URL /job/…/getConfigAsXML
for its Inheritance Project job type that does something similar.
Project Inheritance Plugin 19.08.02 and earlier does not check permissions for this new endpoint, granting access to job configuration XML data to every user with Job/Read permission.
Additionally, the encrypted values of secrets stored in the job configuration are not redacted, as they would be by the config.xml
API for users without Job/Configure permission.
As of publication of this advisory, there is no fix.
svn-partial-release-mgr
Subversion Partial Release Manager Plugin 1.0.1 and earlier does not escape the error message for the repository URL field form validation.
This results in a reflected cross-site scripting (XSS) vulnerability that can also be exploited similar to a stored cross-site scripting vulnerability by users with Job/Configure permission.
As of publication of this advisory, there is no fix.
play-autotest-plugin
A form validation endpoint in Play Framework Plugin executes the play
command to validate a given input file.
Play Framework Plugin 1.0.2 and earlier lets users specify the path to the play
command on the Jenkins controller.
This results in an OS command injection vulnerability exploitable by users able to store such a file on the Jenkins controller (e.g. through archiving artifacts).
As of publication of this advisory, there is no fix.
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: