CVE-2026-33002
High · 7.5CVSS
7.5
EPSS
0.5%
Published
Mar 18, 2026
CISA due date
—
Cloudanix analysis
A malicious website could trick a logged-in employee’s browser into connecting to Jenkins and performing actions the employee is allowed to do.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- High
- Impact
- Full Compromise
- Component
- Application
- Class
- Authentication Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Jenkins performs origin validation for the CLI WebSocket endpoint using an expected origin derived from attacker-influencable HTTP headers such as Host or X-Forwarded-Host. In affected versions, this enables a DNS rebinding scenario where a malicious site visited by a user can cause the user’s browser to make WebSocket requests to an internal or otherwise protected Jenkins controller while satisfying the flawed origin check. If the victim’s browser has network reachability to Jenkins and usable Jenkins authentication context, the attacker may be able to interact with the Jenkins CLI WebSocket endpoint as that user, potentially exposing credentials, build data, job configuration, secrets available to the user, or enabling administrative actions depending on the victim’s permissions.
Why it matters to the business
Successful exploitation can turn an employee’s browser into a bridge to Jenkins, allowing unauthorized access to CI/CD capabilities that may control source code, build pipelines, deployment credentials, signing keys, and production release workflows. The issue is especially important for organizations where Jenkins is reachable from employee workstations, VPN users, or internal networks and where administrators commonly remain logged in. Although the EPSS score is low and stable, the impact is high because compromise of Jenkins can lead to software supply-chain tampering, credential theft, build disruption, and unauthorized deployment changes.
How an attack unfolds
An attacker hosts a malicious web page on a domain they control and configures DNS records to support rebinding behavior. A victim who has browser access to a vulnerable Jenkins instance visits the attacker-controlled page. The page first resolves to the attacker’s infrastructure and then, after DNS rebinding, resolves to the Jenkins controller or a network address reachable only from the victim’s environment. The malicious page initiates a WebSocket connection to the Jenkins CLI endpoint while manipulating the browser-visible origin and relying on Jenkins deriving the expected origin from Host or X-Forwarded-Host. Because affected Jenkins versions trust those request headers for the origin comparison, the request can pass origin validation even though it was initiated by attacker-controlled content. The attacker then attempts to use the CLI channel under the victim’s browser/authentication context; the practical impact depends on the victim’s Jenkins permissions and whether session cookies or other credentials are available to the browser.
How to fix it
Upgrade Jenkins controllers outside the affected ranges: Jenkins weekly versions 2.442 through 2.554 inclusive are affected, and Jenkins LTS versions 2.426.3 through 2.541.2 inclusive are affected. If exact fixed versions are not yet tracked in the local patch catalog, move to the vendor-recommended release newer than the affected branch and confirm against the Jenkins security advisory for this issue. As compensating controls, restrict Jenkins access to trusted administrative networks, require VPN or strong access gateways, prevent direct browser access from general user segments where possible, disable or restrict CLI/WebSocket access if not operationally required, enforce least-privilege Jenkins permissions, and ensure reverse proxies do not allow untrusted clients to supply or override X-Forwarded-Host. Configure reverse proxies to set Host and X-Forwarded-* headers explicitly and to drop inbound client-supplied forwarding headers.
How to confirm the fix worked
Confirm the Jenkins controller version is not in the affected ranges. Validate that reverse proxies overwrite rather than pass through X-Forwarded-Host from clients. Review Jenkins and proxy access logs for WebSocket requests to /cli/ws and confirm expected use is limited to known administrators or automation. In a controlled test environment, attempt a CLI WebSocket request with mismatched Origin, Host, and X-Forwarded-Host values; a fixed or properly mitigated deployment should reject the request rather than deriving trust from attacker-controlled forwarding headers. Also verify that Jenkins is not reachable from untrusted browser contexts and that ordinary user workstations cannot directly reach administrative-only Jenkins endpoints unless intended.
Typical attack path
- Identify that a target organization uses Jenkins and that Jenkins is reachable from user workstations, VPN, or internal networks.
- Prepare an attacker-controlled domain and DNS rebinding setup that can transition browser requests from the attacker’s host to the Jenkins controller address.
- Lure a Jenkins user or administrator into visiting the attacker-controlled web page.
- Use browser-executed JavaScript to initiate a WebSocket request to the Jenkins CLI endpoint, typically /cli/ws.
- Rely on Host or X-Forwarded-Host handling to cause Jenkins to compute an expected origin that matches the attacker-controlled request context.
- Establish a CLI WebSocket session to Jenkins if the victim’s browser has reachability and valid authentication context.
- Execute Jenkins CLI actions permitted to the victim, such as reading job configuration, enumerating resources, triggering or modifying builds, or performing administrative actions if the victim is privileged.
How to detect it
Investigate whether this was already exploited by reviewing Jenkins access logs, reverse proxy logs, WAF logs, and authentication/session logs for WebSocket requests to the Jenkins CLI endpoint. Focus on requests to /cli/ws with Upgrade: websocket, especially where Origin does not match the legitimate Jenkins base URL, where Host or X-Forwarded-Host contains unexpected domains, where X-Forwarded-Host is present from untrusted sources, or where the source IP/user-agent pattern resembles an end-user browser rather than approved automation. Correlate suspicious /cli/ws activity with Jenkins audit records, CLI command usage, job configuration changes, credential access, new or modified build steps, new users or API tokens, plugin installation, script console use, build triggers, and unexpected administrative actions. DNS rebinding exploitation may appear as normal browser traffic from a legitimate user workstation, so prioritize anomalous Origin/Host combinations, rare CLI WebSocket usage, and activity immediately following visits to unfamiliar domains if web proxy telemetry is available. No named threat actors, ransomware campaigns, or confirmed exploitation are provided for this CVE, so detection should emphasize behavioral anomalies rather than actor-specific indicators.
- /cli/ws
- GET /cli/ws
- POST /cli/ws
- Upgrade: websocket
- Connection: Upgrade
- X-Forwarded-Host:
- Origin: http://
- Origin: https://
- Sec-WebSocket-Key:
- Sec-WebSocket-Version: 13
- jenkins-cli.jar
- -webSocket
What your security team should do
- Prioritize upgrading all Jenkins controllers in the affected weekly and LTS ranges, especially internet-facing, VPN-accessible, or broadly internal instances.
- Inventory Jenkins exposure paths, including reverse proxies, load balancers, developer workstations, VPN routes, and administrative jump hosts.
- Audit reverse proxy configuration to ensure client-supplied X-Forwarded-Host is stripped and replaced with a trusted value.
- Restrict /cli/ws and other Jenkins CLI access paths to trusted administrative sources or disable CLI/WebSocket access if not needed.
- Review Jenkins user permissions and remove unnecessary administrative, job-configuration, credential-viewing, and build-execution privileges.
- Hunt historical logs for unusual /cli/ws WebSocket activity, suspicious Origin values, unexpected Host or X-Forwarded-Host values, and CLI usage from non-administrative user sessions.
- Educate Jenkins administrators to avoid browsing untrusted sites while authenticated to Jenkins, especially from networks that can reach Jenkins controllers.
- Because EPSS is currently low, treat this as a high-impact hardening and patching priority rather than evidence of active widespread exploitation; continue monitoring for exploit publication or KEV status changes.
The record
Jenkins 2.442 through 2.554 (both inclusive), LTS 2.426.3 through LTS 2.541.2 (both inclusive) performs origin validation of requests made through the CLI WebSocket endpoint by computing the expected origin for comparison using the Host or X-Forwarded-Host HTTP request headers, making it vulnerable to DNS rebinding attacks that allow bypassing origin validation.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-55526 PraisonAI is a multi-agent teams system. CWE-350
- CVE-2026-46611 Glances is an open-source system cross-platform monitoring tool. CWE-350
- CVE-2026-12635 GitLab has remediated an issue in GitLab CE/EE affecting all versions from 8.3 before… CWE-350
- CVE-2026-36604 Mercusys AC12G (EU) V1 router with firmware AC12G(EU)_V1_200909 does not validate the… CWE-350
- GHSA-fvh2-gm75-j4j7 dynoxide: DNS rebinding and cross-origin CSRF via MCP HTTP transport CWE-350
- CVE-2026-42559 RMCP is an official Rust SDK for the Model Context Protocol. CWE-350
- GHSA-3vr4-cvmg-7fx4 copilot-api has Reliance on Reverse DNS Resolution for a Security-Critical Action CWE-350
- CVE-2026-6874 A vulnerability was determined in ericc-ch copilot-api up to 0.7.0. CWE-350