CVE-2022-43407: CSRF
A cross-site request forgery (CSRF) vulnerability was found in a Jenkins plugin. This issue may allow an unauthenticated attacker to access Jenkins builds, bypassing CSRF protections. This could compromise the integrity, availability, and confidentiality of Jenkins.
Other sources
Jenkins Pipeline: Input Step Plugin 451.vf1aa4f405289 and earlier does not restrict or sanitize the optionally specified ID of the 'input' step, which is used for the URLs that process user interactions for the given 'input' step (proceed or abort) and is not correctly encoded, allowing attackers able to configure Pipelines to have Jenkins build URLs from 'input' step IDs that would bypass the CSRF protection of any target URL in Jenkins when the 'input' step is interacted with.
Pipeline: Input Step Plugin 451.vf1aa4f405289 and earlier does not restrict or sanitize the optionally specified ID of the input step. This ID is used for the URLs that process user interactions for the given input step (proceed or abort) and is not correctly encoded.
This allows attackers able to configure Pipelines to have Jenkins build URLs from input step IDs that would bypass the CSRF protection of any target URL in Jenkins when the input step is interacted with.
Pipeline: Input Step Plugin 456.vd8a957db5be9 limits the characters that can be used for the ID of input steps in Pipelines to alphanumeric characters and URL-safe punctuation. Pipelines with input steps having IDs with prohibited characters will fail with an error.
This includes Pipelines that have already been started but not finished before Jenkins is restarted to apply this update.
Pipeline: Declarative Plugin provides an input directive that is internally using the input step, and specifies a non-default ID if not user-defined. Pipeline: Declarative Plugin 2.2114.v2654ca721309 and earlier may specify values incompatible with this new restriction on legal values: input directives in a stage use the stage name (which may include prohibited characters) and input directives in a matrix will use a value generated from the matrix axis values (which always includes prohibited characters). Administrators are advised to update Pipeline: Input Step Plugin and Pipeline: Declarative Plugin at the same time, ideally while no Pipelines are running.
— GitHub
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
redhat/jenkinsto a version that resolves this vulnerability.Fixed in 2-plugins-0:4.11.1683009941-1.el8 - Upgrade
Upgrade
redhat/jenkinsto a version that resolves this vulnerability.Fixed in 2-plugins-0:4.12.1675702407-1.el8 - Upgrade
Upgrade
redhat/jenkinsto a version that resolves this vulnerability.Fixed in 2-plugins-0:4.10.1675144701-1.el8 - Upgrade
Upgrade
redhat/jenkinsto a version that resolves this vulnerability.Fixed in 2-plugins-0:4.9.1675668922-1.el8 - Upgrade
Upgrade
redhat/Pipeline Input Step Pluginto a version that resolves this vulnerability.Fixed in 456. - Upgrade
Upgrade
maven/org.jenkins-ci.plugins:pipeline-input-stepto a version that resolves this vulnerability.Fixed in 456.vd8a_957db_5b_e9 - Upgrade
Upgrade
Pipeline: Input Step Pluginto a version that resolves this vulnerability.Fixed in 456.vd8a_957db_5b_e9 - Upgrade
Upgrade
Pipeline: Declarative Pluginto a version that resolves this vulnerability.Fixed in 2.2114.v2654ca_721309 - Operational
Update Pipeline: Input Step Plugin and Pipeline: Declarative Plugin at the same time, ideally while no Pipelines are running.
Event History
Parent advisories
This vulnerability appears in the following advisories.
Frequently Asked Questions
What is the severity of CVE-2022-43407?
CVE-2022-43407 is considered a high-severity cross-site request forgery (CSRF) vulnerability in Jenkins plugins.
How do I fix CVE-2022-43407?
To remediate CVE-2022-43407, update the Jenkins and relevant plugins to the latest patched versions available.
What are the affected versions for CVE-2022-43407?
CVE-2022-43407 affects several versions of Jenkins, specifically those prior to 4.12.1675702407-1.el8.
Can CVE-2022-43407 affect the integrity of Jenkins builds?
Yes, CVE-2022-43407 may compromise the integrity, availability, and confidentiality of Jenkins builds.
Is CVE-2022-43407 exploitable by unauthenticated users?
Yes, CVE-2022-43407 can be exploited by unauthenticated attackers, allowing them to bypass CSRF protections.