This advisory announces vulnerabilities in the following Jenkins deliverables:
credentials
Credentials Plugin 2.3.18 and earlier does not escape user-controlled information on a view it provides.
This results in a reflected cross-site scripting (XSS) vulnerability.
Credentials Plugin 2.3.19 restricts the user-controlled information it provides to a safe subset.
dashboard-view
Dashboard View Plugin 2.15 and earlier does not escape URLs referenced in Image Dashboard Portlets.
This results in a stored cross-site scripting (XSS) vulnerability exploitable by attackers with View/Configure permission.
Dashboard View Plugin 2.16 does not render unsafe URLs.
As part of this fix, the property for image URLs was changed from url
to imageUrl
.
Existing Configuration as Code configurations are still supported, but exports will emit the new property.
s3
S3 publisher Plugin 0.11.6 and earlier does not perform Run/Artifacts permission checks in various HTTP endpoints and API models.
This allows attackers with Item/Read permission to obtain information about artifacts uploaded to S3, if the optional Run/Artifacts permission is enabled.
S3 publisher Plugin 0.11.7 requires Run/Artifacts permission to obtain information about artifacts if this permission is enabled.
s3
S3 publisher Plugin 0.11.6 and earlier does not perform a permission check in an HTTP endpoint.
This allows attackers with Overall/Read permission to obtain the list of configured profiles.
S3 publisher Plugin 0.11.7 performs permission checks when providing a list of configured profiles.
xray-connector
Xray - Test Management for Jira Plugin 2.4.0 and earlier does not require POST requests for a connection test method, resulting in a cross-site request forgery (CSRF) vulnerability.
This vulnerability allows attackers to connect to an attacker-specified URL using attacker-specified credentials IDs obtained through another method, capturing credentials stored in Jenkins.
Xray - Test Management for Jira Plugin 2.4.1 requires POST requests for the affected connection test method.
xray-connector
Xray - Test Management for Jira Plugin 2.4.0 and earlier does not perform a permission check in an HTTP endpoint.
This allows attackers with Overall/Read permission to enumerate credentials IDs of credentials stored in Jenkins. Those can be used as part of an attack to capture the credentials using another vulnerability.
An enumeration of credentials IDs in Xray - Test Management for Jira Plugin 2.4.1 requires the appropriate permissions.
p4
P4 Plugin 1.11.4 and earlier does not perform permission checks in multiple HTTP endpoints implementing connection tests.
This allows attackers with Overall/Read permission to connect to an attacker-specified Perforce server using attacker-specified username and password.
Additionally, these HTTP endpoints do not require POST requests, resulting in a cross-site request forgery (CSRF) vulnerability.
P4 Plugin 1.11.5 requires POST requests and Overall/Administer for the affected HTTP endpoints.
xcode-plugin
Xcode integration Plugin 2.0.14 and earlier does not configure its XML parser to prevent XML external entity (XXE) attacks.
This allows attackers able to control the input files for the Xcode build step to have Jenkins parse a crafted Xcode Workspace File that uses external entities for extraction of secrets from the Jenkins controller or server-side request forgery.
Xcode integration Plugin 2.0.15 disables external entity resolution for its XML parser.
These versions include fixes to the vulnerabilities described above. All prior versions are considered to be affected by these vulnerabilities unless otherwise indicated.
The Jenkins project would like to thank the reporters for discovering and reporting these vulnerabilities: