# CVE-2025-62593: Ray-Project Ray Code Injection

> Attackers can achieve remote code execution on developers' machines by exploiting DNS rebinding and insufficient browser header validation in Ray.

- **Severity:** Critical 9.4 (`CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H`)
- **Exploited in the wild:** Yes, since 17 Aug 2026 (CISA KEV)
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** A user has to click or open something
- **Fix available:** Yes
- **Published:** 26 Nov 2025
- **Updated:** 1 Oct 2026
- **Also known as:** GHSA-q279-jhrf-cc6v, MINI-7qrw-8cwr-pcrr, MINI-rfwh-cfg3-jf99, PYSEC-2026-520

## What is CVE-2025-62593?

CVE-2025-62593 is a critical server-side request forgery vulnerability in ray-project ray, published on 26 Nov 2025. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

### Official description

Ray is an AI compute engine. Prior to version 2.52.0, developers working with Ray as a development tool can be exploited via a critical RCE vulnerability exploitable via Firefox and Safari. 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. This defense is insufficient as the fetch specification allows the User-Agent header to be modified. Combined with a DNS rebinding attack against the browser, and this vulnerability is exploitable against a developer running Ray who inadvertently visits a malicious website, or is served a malicious advertisement (malvertising). This issue has been patched in version 2.52.0.

Weakness: CWE-94 (Improper Control of Generation of Code), CWE-352 (Cross-Site Request Forgery)

## Which versions are affected by CVE-2025-62593?

3 open source packages ship an affected version, including ray. It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `ray` | PyPI | All versions | 2.52.0 |
| `ray` | PyPI | All versions | 2.52.0 |
| `ray` | PyPI | All versions | 2.52.0 |

Products: Anyscale Ray.

## How do I fix CVE-2025-62593?

Upgrade ray to 2.52.0 or later. US federal agencies must fix it by 20 Aug 2026.

## Is CVE-2025-62593 being exploited?

Yes. Attackers have exploited CVE-2025-62593 in the wild since at least 17 Aug 2026.

Public exploit code:

- PoC for CVE-2025-62593: unauthenticated RCE in Ray (CISA KEV). Stdlib-only Python. (github_poc): https://github.com/Boreas37/CVE-2025-62593-PoC
- CVE-2025-62593 — Ray Unauthenticated RCE Exploit is an unauthenticated remote code execution vulnerability in the Ray distributed AI compute engine.  (github_poc): https://github.com/maxprog-svg/CVE-2026-33017
- Ray < 2.52.0 - Remote Code Execution (nuclei): http/cves/2025/CVE-2025-62593.yaml

## Other vulnerabilities in ray-project ray

- [CVE-2023-48022](https://insights.sbomify.com/CVE-2023-48022/): Ray has arbitrary code execution via jobs submission API (critical 9.8)
- [CVE-2023-48023](https://insights.sbomify.com/CVE-2023-48023/): Server-side request forgery in n/a (critical 9.1)
- [CVE-2026-41486](https://insights.sbomify.com/CVE-2026-41486/): Ray: Remote Code Execution via Parquet Arrow Extension Type Deserialization (high 8.9)
- [CVE-2026-32981](https://insights.sbomify.com/CVE-2026-32981/): Ray Dashboard <= 2.8.0 Path Traversal Leading to Local File Disclosure (high 8.7)
- [CVE-2026-57516](https://insights.sbomify.com/CVE-2026-57516/): Ray < 2.56.0 Unsafe Deserialization RCE via WebDataset Reader (high 8.6)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2025-62593 and fix it if it is affected.

What it is: CVE-2025-62593 is a critical server-side request forgery vulnerability in ray-project ray, published on 26 Nov 2025. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Exploitation: Yes. Attackers have exploited CVE-2025-62593 in the wild since at least 17 Aug 2026.

Affected packages and fixed versions:
- ray (PyPI): affected all versions; fixed in 2.52.0
- ray (PyPI): affected all versions; fixed in 2.52.0
- ray (PyPI): affected all versions; fixed in 2.52.0

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2025-62593/ (Markdown: https://insights.sbomify.com/CVE-2025-62593/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2025-62593
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2025-62593
- OSV: https://osv.dev/vulnerability/CVE-2025-62593

---
From sbomify Insights: https://insights.sbomify.com/CVE-2025-62593/
Summaries are generated and may contain mistakes; the official description above is the record.
