Ray Exploitation Turns Local Dashboards Into An Incident Boundary
CISA lists Ray CVE-2025-62593 as exploited. Firefox or Safari can bridge a malicious page to an unpatched local dashboard and execute code.
CISA added CVE-2025-62593 to its Known Exploited Vulnerabilities catalog on August 17, changing a November 2025 Ray advisory into a current incident-response priority. The critical flaw affects Ray versions before 2.52.0. A malicious website can use Firefox or Safari, DNS rebinding, and browser-set request headers to reach an unpatched local Ray Dashboard and invoke the Jobs API for code execution. Visiting a hostile page or receiving malicious advertising can supply the required browser interaction.
Federal civilian agencies had an August 20 remediation date under CISA's catalog action, while other organizations should treat the listing as a strong exploitation signal rather than a legal deadline. Update Ray to a supported current release that includes the fix, at minimum 2.52.0, and verify every developer host, notebook, image, and private cluster. Then scope possible browser-to-dashboard access, preserve relevant history and Ray logs, and layer token authentication with network protection. Ray introduced token authentication in 2.52.0, but it is disabled by default and its bearer tokens do not replace transport security.
Key Takeaways
- check_circle CISA added CVE-2025-62593 to the KEV catalog on August 17, 2026 and describes the Ray code-injection flaw as exploited. CISA lists ransomware use as unknown.
- check_circle Ray versions before 2.52.0 are affected. The project's GitHub advisory rates the issue critical at CVSS 9.4 and identifies 2.52.0 as the patched release.
- check_circle The documented path combines a malicious webpage, DNS rebinding, and headers Firefox or Safari permit scripts to set, allowing a browser to address a local Ray Dashboard and invoke the Jobs API.
- check_circle A default local binding such as 127.0.0.1:8265 does not stop this browser-mediated path. It narrows direct network exposure but is not an authorization control.
- check_circle Ray's security model assumes that parties able to reach the Dashboard, Jobs API, or Ray Client can execute arbitrary code. Those interfaces belong behind deliberate access controls.
- check_circle Token authentication is available from Ray 2.52.0 but is disabled by default, uses non-expiring bearer tokens, and sends them in an HTTP header. Use it with TLS, SSH tunneling, or a trusted VPN.
The New Fact Is Confirmed Exploitation, Not A New Vulnerability
Ray published its security advisory on November 26, 2025 and fixed the issue in Ray 2.52.0. CISA's August 17, 2026 KEV entry is the current development. The catalog says Ray contains a code-injection vulnerability that can allow remote code execution and notes that developers using Ray as a development tool may be exposed through Firefox and Safari. CISA set August 20 as the required remediation date for covered federal civilian agencies.
The KEV entry confirms exploitation in the wild at CISA's catalog threshold. It does not identify an actor, victim, campaign, exploit volume, delivery domain, or affected organization. The catalog marks known ransomware campaign use as unknown. Those omissions matter. Defenders should increase urgency and investigate relevant assets, but should not attach a ransomware or espionage narrative that the public evidence does not establish.
CISA's Binding Operational Directive 26-04 applies to Federal Civilian Executive Branch agencies. Private organizations are not governed by that catalog deadline solely because a CVE appears in KEV. The signal is still useful for prioritization: an exploited path that can execute code on developer systems deserves faster treatment than an equally scored issue with no evidence of use, especially where those systems hold source code, credentials, models, or cloud access.
A Browser Can Turn Localhost Into A Reachable Control Plane
A local Ray Dashboard normally listens on 127.0.0.1:8265. Developers often read that address as meaning only trusted software on the workstation can reach it. The advisory documents a different route. An attacker controls a website and its DNS answers. The victim's browser first loads the site, then DNS rebinding changes the hostname's resolution toward a local address. Browser JavaScript sends requests that arrive at the dashboard from the user's own machine.
Ray attempted to block browser-originated requests by checking headers, including the User-Agent header. The flaw existed because the implementation assumed scripts could not set that header. Ray's advisory says Firefox and Safari permit the behavior needed for the bypass, contrary to that assumption. The hostile request can then use the Ray Jobs API, whose purpose includes submitting code to a Ray cluster. The interaction can be as small as visiting a malicious page or receiving malvertising in a page the developer opens.
Chrome is not affected by the exact route described in the advisory because of its header behavior. That is not a durable mitigation for a vulnerable service. Browser policies can differ, users run more than one browser, automation may embed browser engines, and the vulnerable access decision remains based on spoofable request context. Patch the service rather than trying to standardize a fleet on a browser quirk.
The Patch And Token Authentication Solve Different Problems
Ray 2.52.0 contains the CVE fix. The associated change rejects requests carrying browser-specific fetch metadata and related headers before they reach protected dashboard handling. Organizations should move to a currently supported Ray release that includes that change, rather than pinning indefinitely to the first fixed build. Verify the imported package and running process because notebooks, virtual environments, containers, base images, and cluster nodes can each carry a different version.
The same release introduced built-in token authentication. Ray documents token mode through RAY_AUTH_MODE=token. A local ray.init() workflow can generate a token, while remote access requires token distribution and configuration. Authentication is disabled by default, so merely installing 2.52.0 or a later release does not prove the deployment requires a token. Operators must enable the mode and test expected clients.
Tokens add an access check but need protection. Ray says the bearer tokens do not expire, are stored in plaintext, and are sent in an HTTP header. Plain HTTP can expose them to anyone able to observe the connection. Place remote management behind TLS, an SSH tunnel, or a trusted VPN, restrict file permissions, separate tokens by operational boundary where possible, and rotate after suspected exposure. Do not publish the Dashboard directly to the Internet even when token mode is enabled.
Incident Scope Begins With Browsing And Ray Process Evidence
A KEV listing does not prove that every unpatched installation was compromised. Start by preserving evidence before browsers or local tools rotate it. Record installed and running Ray versions, Dashboard bindings, process owners, start times, cluster membership, Jobs API history, Ray logs, shell and notebook history, browser history, DNS cache or resolver telemetry, endpoint detections, and relevant proxy records. Retention and privacy rules may limit what is available, so document those constraints.
Choose an exposure window from asset facts. At minimum, examine the period in which the host ran a vulnerable Ray version and an affected browser was used. Investigate unexplained Ray jobs, child processes, downloads, changes to startup files, unusual outbound connections, new credentials, or access to internal systems from the workstation. A missing public exploit indicator is not a reason to skip behavioral review, but it also does not justify declaring every anomalous browser visit malicious.
If evidence suggests code execution, isolate the host through the established response process, preserve volatile and disk evidence, revoke credentials that were accessible to the process, inspect related cloud and source-control activity, and rebuild from trusted inputs. Updating the package after execution does not remove persistence or invalidate stolen credentials. If review finds no evidence, document the sources checked, their retention, and the residual uncertainty rather than treating a clean dashboard as conclusive.
Local Developer Services Need Explicit Browser Threat Models
Development tools increasingly expose HTTP control planes on loopback addresses. Browsers are also network clients with access to local and private destinations, complicated origin rules, extensions, cached credentials, and user-driven content. A design that trusts localhost or a request header can accidentally let any webpage borrow the browser's network position. DNS rebinding is one established way to exploit that mismatch.
Local services should require an unguessable, validated credential for state-changing actions, bind only where necessary, check Origin and fetch metadata as defense in depth, and reject unsafe defaults. High-authority functions such as job submission should be isolated from observation endpoints. Remote deployments need authenticated encryption, ingress restrictions, least-privilege process identities, and egress controls. None of those measures makes patching optional.
For engineering teams, the durable control is a developer-service inventory. Track packages that open local ports, the interfaces and addresses they bind, whether browsers can reach them, how they authenticate, and what authority their processes hold. Include notebooks, AI frameworks, debuggers, local databases, preview servers, container APIs, and plugin bridges. A loopback listener can reduce exposure, but it should never be the only evidence that a code-execution interface is trusted.
Checklist
- Find Ray in developer environments, notebooks, virtual environments, containers, build hosts, private clusters, golden images, and systems that start it only for specific jobs.
- Upgrade every affected environment to a supported current release containing the fix, at minimum Ray 2.52.0, and verify both the installed package and running processes.
- Record Dashboard bindings and restrict them to required networks; remove direct Internet exposure and prefer SSH tunneling or trusted ingress for remote access.
- Enable and test Ray token authentication where compatible, protect token files, and use TLS, SSH, or a trusted VPN because bearer tokens travel in HTTP headers.
- Preserve Ray, process, browser, DNS, endpoint, proxy, source-control, and cloud evidence for the locally supported exposure window.
- Investigate unexplained jobs, child processes, downloads, persistence, outbound traffic, and credential use; rebuild and rotate exposed credentials when execution is supported by evidence.
- Add browser-reachable local developer services to the security inventory and require authentication for every high-authority action.
Sources
- CISA: Known Exploited Vulnerabilities catalog open_in_new
- Ray Project: CVE-2025-62593 security advisory open_in_new
- Ray Project: Ray 2.52.0 release open_in_new
- Ray documentation: token authentication open_in_new
- Ray documentation: security model open_in_new
- Ray documentation: configure and manage the Dashboard open_in_new
- CISA: BOD 26-04 risk-based vulnerability remediation open_in_new
Continue Reading
WhatsApp Scam Alert Separates Detection From Reporting
WhatsApp's limited Scam Alert beta classifies some non-contact messages on-device while its telemetry design sends protected aggregate counts.
Cisco Secure Workload Hardening Requires A Full-Stack Upgrade
Cisco fixed critical Secure Workload flaws, but SaaS customers still must update agents and connectors while on-prem teams must update every layer.
GitLab GraphQL Flaws Put Public Project Integrity At Risk
GitLab fixed an unauthenticated GraphQL path that could modify or delete public projects. Self-managed operators need a verified upgrade and evidence plan.