CVE-2022-29037
Description
Jenkins CVS Plugin 2.19 and earlier does not escape the name and description of CVS Symbolic Name parameters on views displaying parameters, resulting in a stored cross-site scripting (XSS) vulnerability exploitable by attackers with Item/Configure permission.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Jenkins CVS Plugin 2.19 and earlier does not escape CVS Symbolic Name parameter attributes, leading to stored XSS for users with Item/Configure permission.
Vulnerability
The Jenkins CVS Plugin, versions 2.19 and earlier, fails to escape the name and description of CVS Symbolic Name parameters when displayed on views that render these parameters. This stored cross-site scripting (XSS) vulnerability resides in the plugin's parameter rendering component, as evidenced by the fix that adds HTML escaping via h.escape(it.name) and it.formattedDescription calls [1][4]. The vulnerability affects all users who have Item/Configure permission on a Jenkins project, as they can create or modify CVS Symbolic Name parameters with malicious payloads.
Exploitation
An attacker must have Item/Configure permission in Jenkins to exploit this vulnerability. The attacker can create or edit a CVS Symbolic Name parameter in a Jenkins project, setting the name or description fields to contain malicious JavaScript code. When the affected view (such as the project configuration page or parameterized build trigger) renders the parameter, the injected script executes in the context of the victim's browser session, because the plugin does not sanitize the output [1][2]. No additional user interaction beyond viewing the page is required.
Impact
Successful exploitation allows an attacker to execute arbitrary JavaScript in the browser of any Jenkins user who views the affected parameter. This can lead to compromise of the victim's Jenkins session, enabling actions such as creating new credentials, modifying jobs, or exfiltrating sensitive information. The stored XSS vulnerability is classified as high severity with a CVSS score that reflects the potential for significant impact on confidentiality, integrity, and availability [1][2].
Mitigation
Jenkins released a fix in CVS Plugin version 2.19.1, which is available from the Jenkins update center. All users should upgrade to at least version 2.19.1 to remediate this vulnerability. As of the advisory date (2022-04-12), no workaround is provided by the vendor, and the plugin does not appear on the CISA KEV list. Users unable to upgrade should ensure that only trusted users have Item/Configure permission [1][4].
AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
org.jenkins-ci.plugins:cvsMaven | < 2.19.1 | 2.19.1 |
Affected products
3- Range: <=2.19
- Range: unspecified
Patches
1043ef8801a7bSECURITY-2700
2 files changed · +4 −2
src/main/resources/hudson/scm/CvsTagsParamDefinition/index.jelly+2 −1 modified@@ -23,7 +23,8 @@ THE SOFTWARE. --> <?jelly escape-by-default='true'?> <j:jelly xmlns:j="jelly:core" xmlns:f="/lib/form"> - <f:entry title="${it.name}" description="${it.description}"> + <j:set var="escapeEntryTitleAndDescription" value="false"/> + <f:entry title="${h.escape(it.name)}" description="${it.formattedDescription}"> <div name="parameter"> <input type="hidden" name="name" value="${it.name}"/> <select name="tagName">
src/main/resources/hudson/scm/CvsTagsParamValue/value.jelly+2 −1 modified@@ -23,7 +23,8 @@ THE SOFTWARE. --> <?jelly escape-by-default='true'?> <j:jelly xmlns:j="jelly:core" xmlns:f="/lib/form"> - <f:entry title="${it.name}"> + <j:set var="escapeEntryTitleAndDescription" value="false"/> + <f:entry title="${h.escape(it.name)}"> <f:textbox name="${it.name}" value="${it.description}" /> </f:entry> </j:jelly> \ No newline at end of file
Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
4- github.com/advisories/GHSA-ghq2-m3pq-qf3pghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2022-29037ghsaADVISORY
- github.com/jenkinsci/cvs-plugin/commit/043ef8801a7b3fbbf778245c3c7174d21e42efe2ghsaWEB
- www.jenkins.io/security/advisory/2022-04-12/ghsax_refsource_CONFIRMWEB
News mentions
1- Jenkins Security Advisory 2022-04-12Jenkins Security Advisories · Apr 12, 2022