CVE-2022-30964: Cross-site Scripting in Jenkins Multiselect parameter Plugin

Summary

18/05/2022
Yes i
High
8.0

CVE-2022-30964: Cross-site Scripting in Jenkins Multiselect parameter Plugin. Affects io.jenkins.plugins:multiselect-parameter versions < 1.4. Fixed in 1.4. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored MarkAI Find prospects already talking about the problem you solve AI watches the communities your customers use to find qualified prospects, then alerts you when a conversation is worth joining. See MarkAI

Background

Jenkins Multiselect parameter Plugin is a Maven package that provides functionality for creating multiselect parameters in Jenkins views. These parameters allow users to select multiple options from a predefined list. The plugin is commonly used in Jenkins instances to enhance the flexibility of parameterized builds. However, versions 1.3 and earlier of the plugin are vulnerable to a stored cross-site scripting (XSS) attack.

Vulnerability Detail

The vulnerability in Jenkins Multiselect parameter Plugin arises from the lack of proper escaping of the name and description of Multiselect parameters on views displaying parameters. This allows attackers with Item/Configure permission to inject malicious scripts into the affected pages. Exploitation of this vulnerability requires that parameters are listed on other pages, such as the 'Build With Parameters' and 'Parameters' pages provided by Jenkins. If these pages are not hardened to prevent exploitation, an attacker can execute arbitrary scripts in the context of the user's browser, potentially leading to session hijacking, data theft, or other malicious activities. Jenkins (core) has implemented measures to prevent exploitation of similar vulnerabilities on the 'Build With Parameters' and 'Parameters' pages since version 2.44 and LTS 2.32.2, as part of the SECURITY-353 / CVE-2017-2601 fix. However, the Multiselect parameter Plugin version 1.3 and earlier remain vulnerable.

How To Fix

Latest published version: 1.8 as of 22 Oct 2026

Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.

If you need the minimum change

1.4

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

If upgrading to the latest version of the Jenkins Multiselect parameter Plugin is not immediately possible, users can apply a workaround to mitigate the risk of exploitation. The workaround involves hardening the 'Build With Parameters' and 'Parameters' pages to prevent XSS attacks. This can be achieved by implementing input validation and proper escaping of parameter names and descriptions. Here is an example of how to harden the pages using the Jenkins Script Console:

  1. Access the Jenkins instance.
  2. Navigate to 'Manage Jenkins' > 'Script Console'.
  3. Enter the following script:
import jenkins.model.Jenkins
import hudson.model.ParameterDefinition

Jenkins.instance.getAllItems(ParameterDefinition).each {
  it.setEscapeDescription(true)
  it.setEscapeName(true)
  it.save()
}
  1. Click 'Run' to execute the script.
  2. Restart Jenkins for the changes to take effect.

Conclusion

In conclusion, the Jenkins Multiselect parameter Plugin versions 1.3 and earlier are vulnerable to a stored cross-site scripting (XSS) attack. To mitigate this vulnerability, it is recommended to upgrade to version 1.4 or later of the plugin. Alternatively, users can harden the 'Build With Parameters' and 'Parameters' pages to prevent exploitation. For further assistance and support in vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for io.jenkins.plugins:multiselect-parameter →

Share this vulnerability

FAQ

This vulnerability allows attackers with Item/Configure permission to execute arbitrary scripts in the context of a user's browser. This can lead to various malicious activities, including session hijacking, data theft, and unauthorized access to sensitive information.

No, this vulnerability specifically affects versions 1.3 and earlier of the Jenkins Multiselect parameter Plugin. If you are not using this plugin or are using a version later than 1.3, your Jenkins instance is not vulnerable to this specific issue.

Yes, upgrading to version 1.4 or later of the Jenkins Multiselect parameter Plugin is the recommended mitigation. Additionally, hardening the 'Build With Parameters' and 'Parameters' pages by implementing input validation and proper escaping can also mitigate the risk of exploitation.

Yes, Jenkins (core) has implemented measures to prevent exploitation of similar vulnerabilities on the 'Build With Parameters' and 'Parameters' pages since version 2.44 and LTS 2.32.2, as part of the SECURITY-353 / CVE-2017-2601 fix. However, the Multiselect parameter Plugin version 1.3 and earlier remain vulnerable.

For more information about this vulnerability, you can refer to the official Jenkins security advisory: https://www.jenkins.io/security/advisory/2022-05-18/#CVE-2022-30964

How To Fix

Latest published version: 1.8 as of 22 Oct 2026

Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.

If you need the minimum change

1.4

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback