FIX CARD
PRODUCT Ray
SEVERITY CRITICAL
Ray dashboard open to the internet
Why it matters
Your Ray dashboard and Jobs API answer anyone without a password. The Jobs API lets a stranger submit a job — and a Ray job is arbitrary code running on your cluster. This is unauthenticated remote code execution, and exposed Ray clusters are actively hijacked for cryptomining and data theft.
Fix it: 3 steps
- Bind the dashboard to localhost: start Ray with
ray start --head --dashboard-host 127.0.0.1(never 0.0.0.0 on a public interface), and restart the cluster. - If the cluster must be reachable remotely, keep :8265 off the public IP entirely — reach it through an SSH tunnel (
ssh -L 8265:127.0.0.1:8265 user@server) or an authenticating reverse proxy / VPN. - Block the port at the firewall as a seatbelt:
sudo ufw deny 8265.
Verify it’s fixed
curl -m 5 http://YOUR_SERVER_IP:8265/api/jobs/ # should time out / connection refused; curl http://127.0.0.1:8265/api/jobs/ on the head node should still work
References
- https://docs.ray.io/en/latest/ray-security/index.html
- https://www.oligo.security/blog/shadowray-attack-ai-workloads-actively-exploited-in-the-wild
Not sure if your stack is exposed?
Run the free check: usually under a minute, safe read-only probes.
Scan your stack