This advisory announces vulnerabilities in the following Jenkins deliverables:
ldap
LDAP Plugin 807.v7d7de30930cf and earlier follows LDAP referrals from the configured LDAP server. These can forward to an RMI URL that causes Jenkins to deserialize attacker-controlled data, resulting in Remote Code Execution (RCE) on the Jenkins controller if deserialization "gadgets" are available on the classpath.
This allows attackers able to control the configured LDAP server, or able to perform a machine-in-the-middle attack, to execute code on the Jenkins controller.
LDAP Plugin 807.809.vd3a_4e5e4ec98 no longer follows LDAP referrals.
active-directory
Active Directory Plugin 2.41 and earlier follows LDAP referrals from the configured Active Directory server by default. These can forward to an RMI URL that causes Jenkins to deserialize attacker-controlled data, resulting in Remote Code Execution (RCE) on the Jenkins controller if deserialization "gadgets" are available on the classpath.
This allows attackers able to control the configured Active Directory server, or able to perform a machine-in-the-middle attack, to execute code on the Jenkins controller.
Active Directory Plugin 2.41.1 no longer follows LDAP referrals by default.
Administrators unable to update to a fixed version can start Jenkins with the Java system property hudson.plugins.active_directory.referral.ignore set to true to mitigate the vulnerability.
Administrators of Jenkins controllers requiring following LDAP referrals can set the Java system property hudson.plugins.active_directory.referral.ignore to false to restore the previous behavior.
email-ext
Email Extension Plugin 1933.v45cec755423f and earlier includes a feature that allows inlining images as base64 in email content by setting the data-inline attribute.
No restrictions are placed on the image URLs that can be inlined.
This allows attackers able to control the email content to specify file: URLs for images to read arbitrary files from the Jenkins controller filesystem.
The feature allowing inlining images as base64 in email content by setting the data-inline attribute is removed from Email Extension Plugin 1933.1935.v276319e3cc47.
| Users relying on this feature are encouraged to explain their use case in the issue tracker for a possible return of this feature, with proper restrictions. |
| This vulnerability has been reported through the Jenkins Bug Bounty Program sponsored by the European Commission. |
pipeline-groovy-lib
Pipeline: Groovy Libraries Plugin 797.v90ea_a_9b_e45a_0 and earlier does not prohibit symbolic links in shared libraries.
This allows attackers able to control the content of a library used by a Pipeline job to read arbitrary files on the Jenkins controller filesystem.
Pipeline: Groovy Libraries Plugin 798.v5cc688825312 prohibits symbolic links in shared libraries.
| This vulnerability has been reported through the Jenkins Bug Bounty Program sponsored by the European Commission. |
credentials-binding
Credentials Binding Plugin 720.v3f6decef43ea_ and earlier does not properly sanitize file names for file and zip file credentials.
This allows attackers able to provide credentials to a job to write files to arbitrary locations on the node filesystem. If Jenkins is configured to allow a low-privileged user to configure file or zip file credentials used for a job running on the built-in node, this can lead to remote code execution.
Credentials Binding Plugin 725.ve52b_2328a_fde improves sanitization of the file name provided for file and zip file credentials, preventing path traversal.
| This issue is due to an incomplete fix of SECURITY-3672. |
jenkinsci-appspider-plugin
AppSpider Plugin 1.0.17 and earlier does not perform a permission check in a method implementing form validation.
This allows attackers with Overall/Read permission to connect to an attacker-specified URL.
AppSpider Plugin 1.0.18 requires Overall/Administer permission to use the affected method implementing form validation.
bitbucket-oauth
Bitbucket OAuth Plugin 0.17 and earlier does not restrict the redirect URL after login.
This allows attackers to perform phishing attacks by having users go to a Jenkins URL that will forward them to a different site after successful authentication.
Bitbucket OAuth Plugin 0.18 only redirects to relative (Jenkins) URLs.
github-pullrequest
GitHub Integration Plugin 0.7.3 and earlier does not require POST requests for an HTTP endpoint, resulting in a cross-site request forgery (CSRF) vulnerability.
This vulnerability allows attackers to trigger a build for a pull request.
GitHub Integration Plugin 0.7.4 requires POST requests for the affected HTTP endpoint.
jenkins-multijob-plugin
Multijob Plugin 662.vd2e0001f6b_b_d and earlier does not require POST requests for an HTTP endpoint, resulting in a cross-site request forgery (CSRF) vulnerability.
This vulnerability allows attackers to resume failed Multijob builds.
Multijob Plugin 669.v9d96a_d9c71b_0 requires POST requests for the affected HTTP endpoint.
job-import-plugin
Job Import Plugin 143.v044a_2e819b_27 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 Job Import Plugin 143.145.v48f9a_a_6ff384 requires Job Import/Import Jobs permission.
| This is due to an incomplete fix of SECURITY-2791. |
buildgraph-view
buildgraph-view Plugin 1.8 and earlier does not escape the build URL.
This results in a stored cross-site scripting (XSS) vulnerability exploitable by attackers able to configure jobs or views.
As of publication of this advisory, there is no fix. Learn why we announce this.
These versions include fixes to the vulnerabilities described above. All prior versions are considered to be affected by these vulnerabilities unless otherwise indicated.
As of publication of this advisory, no fixes are available for the following plugins:
Learn why we announce these issues.
The Jenkins project would like to thank the reporters for discovering and reporting these vulnerabilities: