ctipilot.ch
← Back to the live brief
HIGHCVE-2025-62593exploitedNATOA1vulnerability

CVE-2025-62593 — Ray's dashboard is defended against browsers by a User-Agent string check, and CISA now records the DNS-rebinding bypass as exploited

discovered 2026-08-18 04:40 UTCrun 2026-08-18T0410Z-intel2 sourcesmulti-source

CISA added CVE-2025-62593 to its Known Exploited Vulnerabilities catalog on 2026-08-17, describing it as a code-injection flaw in Ray and noting that "Developers using Ray as a development tool may be exposed to this vulnerability exploitable through Firefox and Safari" (CISA KEV, catalogue version 2026.08.17). The underlying advisory is not new — the Ray project published it on 2025-11-26 — but the exploitation determination is, and it changes the flaw's standing from a documented design weakness to something being used.

The design decision behind it is stated plainly by the project: Ray's dashboard exposes job-submission endpoints, including /api/jobs and /api/job_agent/jobs/, without authentication, and the guard against browser-originated requests is a heuristic on the User-Agent header. As the advisory puts it, "This vulnerability is due to an insufficient guard against browser-based attacks, as the current defense uses the User-Agent header starting with the string 'Mozilla' as a defense mechanism" (Ray project, 2025-11-26). That assumption holds only where the browser refuses to let a page set the header. Firefox and Safari implement the fetch specification and permit it; Chrome does not, which the advisory notes is the result of a long-standing bug that puts Chrome out of spec — so the browser most likely to be non-compliant is the one that happens to be safe.

The reason this reaches hosts that no firewall would consider exposed is DNS rebinding. The attacker does not need network reach to the Ray dashboard; the victim's browser has it. A developer running Ray locally who visits a malicious page — or is served a malicious advertisement, which the advisory calls out explicitly — gives that page a path to resolve an attacker-controlled hostname to a loopback or internal address, overwrite the User-Agent, and POST a job to the dashboard, which executes it. The advisory further states the same browser-as-intermediary path can be turned against network-adjacent Ray instances, so a single developer workstation reaches cluster nodes that were never meant to be addressable from outside. The fix is Ray 2.52.0, which the project notes also, finally, adds an authentication feature — one that is disabled by default, so upgrading alone leaves the endpoints open to anything that can already reach them.

Detection, telemetry class first. The observable sequence is a browser process making a local or internal HTTP request it has no business making. In DNS and resolver telemetry, the rebinding step is a hostname whose answer changes to a loopback or RFC 1918 address within a short TTL window on a host that has just browsed externally — the classic signature, and the one that fires before anything reaches Ray. In the Ray dashboard's own access logs, the anchor is a POST to the job-submission endpoints carrying an Origin or Referer that names an external site rather than local tooling. In host process and network telemetry, correlate an outbound browser session with a subsequent connection to the dashboard port (8265 by default) from that same browser process, and then with Ray spawning a job-worker process tree that no scheduler or CLI invocation accounts for. Triage: legitimate dashboard traffic comes from the Ray CLI, a notebook kernel or an IDE extension — local, non-browser processes with no cross-origin headers, and job submissions that correlate with a developer's own session. Browser-originated POSTs to those endpoints have no benign equivalent, and the DNS answer that recently pointed elsewhere is the corroborating half.

Developers using Ray as a development tool may be exposed to this vulnerability exploitable through Firefox and Safari.

CISA — Known Exploited Vulnerabilities Catalog 2026-08-17

This vulnerability is due to an insufficient guard against browser-based attacks, as the current defense uses the

Ray project (GitHub Security Advisory) 2025-11-26

Defender actions

  • Inventory Ray installations on developer, research and data-engineering endpoints — including local ray start clusters that were never considered internet-facing — upgrade them to 2.52.0 or later, and explicitly enable the authentication feature that release adds, because it ships disabled.

ATT&CK mapping

3 techniques mapped from the cited reporting · MITRE ATT&CK v19.2

Initial Access TA0001
T1189Drive-by Compromise

Adversaries may gain access to a system through a user visiting a website over the normal course of browsing. Multiple ways of delivering exploit code to a browser exist (i.e., Drive-by Target), including:

overlap matrix · ATT&CK page ↗

Execution TA0002
T1059.006Command and Scripting Interpreter: Python

Adversaries may abuse Python commands and scripts for execution. Python is a very popular scripting/programming language, with capabilities to perform many functions. Python can be executed interactively from the command-line (via the <code>python.exe</code> interpreter) or via scripts (.py) that can be written and distributed to different systems. Python code can also be compiled into binary executables.

overlap matrix · ATT&CK page ↗

Lateral Movement TA0008
T1210Exploitation of Remote Services

Adversaries may exploit remote services to gain unauthorized access to internal systems once inside of a network. Exploitation of a software vulnerability occurs when an adversary takes advantage of a programming error in a program, service, or within the operating system software or kernel itself to execute adversary-controlled code. A common goal for post-compromise exploitation of remote services is for lateral movement to enable access to a remote system.

overlap matrix · ATT&CK page ↗

PROVENANCE

AI-generated · no human review · this permalink is the shareable record for the finding · verify operationally critical claims against the linked primary source.