Agent-to-controller security bypass in Jenkins Semantic Versioning Plugin
High severity
GitHub Reviewed
Published
Mar 16, 2022
to the GitHub Advisory Database
•
Updated Feb 2, 2023
Package
Affected versions
< 1.14
Patched versions
1.14
Description
Published by the National Vulnerability Database
Mar 15, 2022
Published to the GitHub Advisory Database
Mar 16, 2022
Reviewed
Nov 30, 2022
Last updated
Feb 2, 2023
Jenkins Semantic Versioning Plugin defines a controller/agent message that processes a given file as XML and returns version information. The XML parser is not configured to prevent XML external entity (XXE) attacks, which is only a problem if XML documents are parsed on the Jenkins controller.
Jenkins Semantic Versioning Plugin 1.13 and earlier does not restrict execution of a controller/agent message to agents, and implements no limitations about the file path that can be parsed, allowing attackers able to control agent processes to have Jenkins parse a crafted file that uses external entities for extraction of secrets from the Jenkins controller or server-side request forgery.
This vulnerability is only exploitable in Jenkins 2.318 and earlier, LTS 2.303.2 and earlier. See the LTS upgrade guide.
References