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.
Risk Assessment
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.
Affected Systems
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| ray | pip | <= 2.49.2 | No patch |
Do you use ray? You're affected.
Severity & Risk
Attack Surface
Recommended Action
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.
CISA SSVC Assessment
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
Classification
Compliance Impact
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 92.19%.
Technical Details
NVD Description
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)
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-2025-1979 6.4 Ray: Redis password exposed via plaintext logging
Same package: ray CVE-2026-27482 5.9 ray: Missing Auth allows unauthenticated access
Same package: ray
AI Threat Alert