CVE-2023-48022: Ray: unauthenticated RCE via job submission API
GHSA-6wgj-66m2-xxp2 CRITICAL ACTIVELY EXPLOITED PoC AVAILABLE NUCLEI TEMPLATE CISA: ATTENDAny Ray cluster reachable outside a strictly controlled network is fully compromised — no credentials required. EPSS of 91.8% means active exploitation is near-certain. There is no patch; the vendor considers this a deployment problem, not a bug. Block port 8265 immediately, audit all Ray deployments, and treat any exposed cluster as already compromised.
What is the risk?
Critical. CVSS 9.8 with AV:N/AC:L/PR:N/UI:N means zero-friction exploitation from the internet. EPSS 0.917 places this in the top tier of actively exploited vulnerabilities. The vendor's 'working as designed' position eliminates any patch timeline — the full risk burden falls on operators indefinitely. ML teams routinely expose Ray dashboards for operational convenience, and cloud-hosted Ray clusters with permissive security groups are a common real-world misconfiguration. No compensating controls exist at the application layer.
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| Ray | pip | <= 2.49.2 | No patch |
Do you use Ray? You're affected.
How severe is it?
What is the attack surface?
What should I do?
8 steps-
Immediately identify all Ray deployments: scan for port 8265 (dashboard/job API) and 10001 (GCS) exposed outside network controls.
-
Block these ports at firewall/security group level with no exceptions — this is the only effective mitigation.
-
If external access is operationally required, deploy an authenticating reverse proxy (nginx with OAuth2 proxy or mTLS) in front of the Ray dashboard.
-
Use Anyscale's official verification tooling (anyscale.com blog post) to confirm exposure status.
-
Audit Ray cluster IAM roles and service accounts — assume any previously exposed cluster is compromised, rotate all credentials.
-
Enable audit logging on job submissions to detect retroactive unauthorized access.
-
Implement network segmentation for all ML infrastructure; Ray clusters should never share network segments with production systems or internet-facing services.
-
No upstream patch exists or is planned; all risk management is operational.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2023-48022?
Any Ray cluster reachable outside a strictly controlled network is fully compromised — no credentials required. EPSS of 91.8% means active exploitation is near-certain. There is no patch; the vendor considers this a deployment problem, not a bug. Block port 8265 immediately, audit all Ray deployments, and treat any exposed cluster as already compromised.
Is CVE-2023-48022 actively exploited?
Yes, CVE-2023-48022 is confirmed actively exploited and listed in CISA Known Exploited Vulnerabilities catalog.
How to fix CVE-2023-48022?
1. Immediately identify all Ray deployments: scan for port 8265 (dashboard/job API) and 10001 (GCS) exposed outside network controls. 2. Block these ports at firewall/security group level with no exceptions — this is the only effective mitigation. 3. If external access is operationally required, deploy an authenticating reverse proxy (nginx with OAuth2 proxy or mTLS) in front of the Ray dashboard. 4. Use Anyscale's official verification tooling (anyscale.com blog post) to confirm exposure status. 5. Audit Ray cluster IAM roles and service accounts — assume any previously exposed cluster is compromised, rotate all credentials. 6. Enable audit logging on job submissions to detect retroactive unauthorized access. 7. Implement network segmentation for all ML infrastructure; Ray clusters should never share network segments with production systems or internet-facing services. 8. No upstream patch exists or is planned; all risk management is operational.
What systems are affected by CVE-2023-48022?
This vulnerability affects the following AI/ML architecture patterns: distributed training pipelines, model serving infrastructure, hyperparameter tuning clusters, ML platform infrastructure, data processing pipelines, reinforcement learning environments.
What is the CVSS score for CVE-2023-48022?
CVE-2023-48022 has a CVSS v3.1 base score of 9.8 (CRITICAL). The EPSS exploitation probability is 81.51%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0006 Active Scanning AML.T0025 Exfiltration via Cyber Means AML.T0035 AI Artifact Collection AML.T0049 Exploit Public-Facing Application AML.T0050 Command and Scripting Interpreter AML.T0072 Reverse Shell Compliance Controls Affected
What are the technical details?
Original Advisory
Anyscale Ray allows a remote attacker to execute arbitrary code via the job submission API. NOTE: the vendor's position is that this report is irrelevant because Ray, as stated in its documentation, is not intended for use outside of a strictly controlled network environment.
Exploitation Scenario
Attacker performs internet-wide scan for port 8265 (readily available via Shodan/Censys). On finding an exposed Ray dashboard, they POST a crafted job to /api/jobs/ with a malicious Python entrypoint — a reverse shell, credential harvester, or model exfiltration script. Ray executes the job across all cluster workers with no authentication check, granting immediate RCE. In a typical ML training environment, the attacker harvests AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY from worker environment variables within seconds, then pivots to S3 buckets containing proprietary training data and model artifacts. Alternatively, they inject a data poisoning payload into the active training job by modifying input data mid-run, compromising model integrity without triggering obvious alerts. The MITRE ATLAS case study AML.CS0023 documents this exact attack pattern in the wild.
Weaknesses (CWE)
CWE-829 Inclusion of Functionality from Untrusted Control Sphere
Primary
CWE-918 Server-Side Request Forgery (SSRF)
Primary
CWE-829 — Inclusion of Functionality from Untrusted Control Sphere: The product imports, requires, or includes executable functionality (such as a library) from a source that is outside of the intended control sphere.
- [Architecture and Design] Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid [REF-1482].
- [Architecture and Design] When the set of acceptable objects, such as filenames or URLs, is limited or known, create a mapping from a set of fixed input values (such as numeric IDs) to the actual filenames or URLs, and reject all other inputs. For example, ID 1 could map to "inbox.txt" and ID 2 could map to "profile.txt". Features such as the ESAPI AccessReferenceMap [REF-45] provide this capability.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H References
- atlas.mitre.org/studies/AML.CS0023
- bishopfox.com/blog/ray-versions-2-6-3-2-8-0
- console.vulncheck.com/cve/CVE-2023-48022
- docs.ray.io/en/latest/ray-security/index.html
- docs.ray.io/en/latest/ray-security/token-auth.html
- github.com/advisories/GHSA-6wgj-66m2-xxp2
- github.com/advisories/GHSA-xg2h-7cxj-3gvh
- github.com/honysyang/Ray
- github.com/ray-project/ray/commit/978947083b1e192dba61ef653c863b11d56b0936
- nvd.nist.gov/vuln/detail/CVE-2023-48022
- anyscale.com/blog/update-on-ray-cve-2023-48022-new-verification-tooling-available
- oligo.security/blog/shadowray-attack-ai-workloads-actively-exploited-in-the-wild
- vicarius.io/vsociety/posts/shadowray-cve-2023-48022-exploit
- vicarius.io/vsociety/posts/the-story-of-shadowray-cve-2023-48022
- vulncheck.com/blog/initial-access-intelligence-august-2024
- github.com/0x656565/CVE-2023-48022 Exploit
- github.com/20142995/nuclei-templates Exploit
- github.com/ShenaoW/awesome-llm-supply-chain-security Exploit
- github.com/averinaleks/bot Exploit
- github.com/cyb3r-w0lf/nuclei-template-collection Exploit
- github.com/google/tsunami-security-scanner-plugins Exploit
- github.com/jakabakos/ShadowRay-RCE-PoC-CVE-2023-48022 Exploit
- github.com/nomi-sec/PoC-in-GitHub Exploit
Timeline
Scanner Template Available
A Nuclei vulnerability scanner template exists for this CVE. You can scan your infrastructure for this vulnerability immediately.
View template on GitHubnuclei -t http/cves/2023/CVE-2023-48022.yaml -u https://target.example.com Related Vulnerabilities
CVE-2023-6019 9.8 Ray: unauthenticated RCE via dashboard command injection
Same package: ray CVE-2023-6021 9.3 Ray: LFI allows unauthenticated file read
Same package: ray CVE-2023-6020 9.3 Ray: unauthenticated LFI exposes entire filesystem
Same package: ray CVE-2026-32981 7.5 Ray Dashboard: unauthenticated path traversal file read
Same package: ray CVE-2026-54683 6.5 nl-portal documenten-api: IDOR exposes citizen documents
Same package: ray