CVE-2022-28139
Description
Jenkins RocketChat Notifier Plugin 1.4.10 and earlier lacks a permission check in the doTestConnection endpoint, allowing attackers with Overall/Read to connect to arbitrary URLs with arbitrary credentials.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Jenkins RocketChat Notifier Plugin 1.4.10 and earlier lacks a permission check in the doTestConnection endpoint, allowing attackers with Overall/Read to connect to arbitrary URLs with arbitrary credentials.
Vulnerability
The Jenkins RocketChat Notifier Plugin versions 1.4.10 and earlier contain a missing permission check in the doTestConnection method of the RocketChatNotifier.DescriptorImpl class [1][2]. This endpoint is used to test the connection to a RocketChat server by providing a URL and credentials. The code path is reachable without requiring the Overall/Administer permission, which is normally needed for such configuration testing. The affected plugin does not enforce access control, allowing any user with the Overall/Read permission to invoke this endpoint [3].
Exploitation
An attacker with Overall/Read permission (granted to most authenticated Jenkins users by default) can craft a POST request to the doTestConnection endpoint. The attacker supplies a URL pointing to an attacker-controlled server (e.g., using HTTP or HTTPS) and provides arbitrary credentials (username, password, token, or webhook token). The Jenkins server then makes an HTTP connection to that URL using the supplied credentials. No user interaction beyond the attacker issuing the request is required; the attacker does not need to be authenticated as an administrator [1][3].
Impact
Successful exploitation allows the attacker to trigger Jenkins to connect to any URL, potentially exfiltrating credentials or conducting server-side request forgery (SSRF) attacks. The attacker can use the Jenkins server as a proxy to probe internal network resources, access cloud metadata endpoints, or send data to an attacker-controlled service with attacker-chosen credentials. The privilege level required is low (Overall/Read), making this a medium-severity issue that could lead to information disclosure and network reconnaissance [1][3].
Mitigation
The vulnerability is fixed in RocketChat Notifier Plugin version 1.5.0, released on 2022-03-29 [2]. The fix (commit 1a0023b) adds @RequirePOST and a Jenkins.get().checkPermission(Jenkins.ADMINISTER) check to the doTestConnection method, ensuring only administrators can perform connection tests [4]. Users should upgrade to version 1.5.0 or later. If upgrade is not immediately possible, administrators can revoke Overall/Read permission from untrusted users, though this may impact normal operations. The plugin is not known to be listed in CISA's Known Exploited Vulnerabilities (KEV) catalog [1][2].
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:rocketchatnotifierMaven | < 1.5.0 | 1.5.0 |
Affected products
2- Jenkins project/Jenkins RocketChat Notifier Pluginv5Range: unspecified
Patches
11a0023be9f2efeat(Security): Improve credential handling
1 file changed · +3 −0
src/main/java/jenkins/plugins/rocketchatnotifier/RocketChatNotifier.java+3 −0 modified@@ -30,6 +30,7 @@ import org.kohsuke.stapler.QueryParameter; import org.kohsuke.stapler.StaplerRequest; import org.kohsuke.stapler.export.Exported; +import org.kohsuke.stapler.interceptor.RequirePOST; import javax.net.ssl.SSLHandshakeException; import java.io.IOException; @@ -578,6 +579,7 @@ public String getDisplayName() { return "RocketChat Notifications"; } + @RequirePOST public FormValidation doTestConnection(@QueryParameter("rocketServerUrl") final String rocketServerUrl, @QueryParameter("trustSSL") final String trustSSL, @QueryParameter("username") final String username, @@ -586,6 +588,7 @@ public FormValidation doTestConnection(@QueryParameter("rocketServerUrl") final @QueryParameter("buildServerUrl") final String buildServerUrl, @QueryParameter("webhookToken") final String token, @QueryParameter("webhookTokenCredentialId") final String webhookTokenCredentialId) throws FormException { + Jenkins.get().checkPermission(Jenkins.ADMINISTER); try { String targetServerUrl = rocketServerUrl + RocketClientImpl.API_PATH; if (StringUtils.isEmpty(rocketServerUrl)) {
Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
5- github.com/advisories/GHSA-4p8f-2fwv-6xcwghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2022-28139ghsaADVISORY
- www.openwall.com/lists/oss-security/2022/03/29/1ghsamailing-listx_refsource_MLISTWEB
- github.com/jenkinsci/rocketchatnotifier-plugin/commit/1a0023be9f2e143434d028d5292ef9dc3195d051ghsaWEB
- www.jenkins.io/security/advisory/2022-03-29/ghsax_refsource_CONFIRMWEB
News mentions
1- Jenkins Security Advisory 2022-03-29Jenkins Security Advisories · Mar 29, 2022