Summary
CVE-2026-85695 is a critical authentication bypass (CWE-306: Missing Authentication for a Critical Function) in FastChat’s /register_worker controller endpoint, affecting fschat versions 0 through 0.2.36. Unauthenticated attackers reaching the controller can register arbitrary worker addresses under legitimate model names, allowing them to intercept user prompts/responses and perform server-side request forgery (SSRF) against internal network services. The flaw is rated Critical severity.
Technical details
- Root cause: the controller’s
/register_workerendpoint (infastchat/serve/controller.py) accepts a client-suppliedworker_namevalue and performs an outbound request (requests.post(worker_name + "/worker_get_status")) without requiring any authentication or shared secret, and without validating that the address is a legitimate worker. - Trigger conditions: the FastChat controller must be network-reachable, which occurs when operators bind it to
0.0.0.0or otherwise expose it beyond localhost, as is common in multi-node deployments sitting behind the OpenAI-compatible API server and Gradio web UI. - Attack vector: Network, no privileges or user interaction required (AV:N/AC:L/PR:N/UI:N).
- Impact: attackers can register a malicious worker under an existing model name to hijack the request/response flow (capturing user prompts, images, and responses, and returning attacker-controlled responses), and can use the unauthenticated outbound fetch as an SSRF primitive to probe internal hosts and ports.
Affected software
- lm-sys FastChat (PyPI package
fschat) versions 0 through 0.2.36
Severity
- CVSS v3.1 Base Score: 9.4 (Critical) —
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L - CVSS v4.0 Score: 9.3 (Critical) —
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N
Mitigation and recommended actions
- Immediate: No vendor patch version has been published at time of writing; teams should track the upstream FastChat repository and GitHub issue #3886 for a fixed release and upgrade to it once available.
- If no patch: restrict network exposure of the FastChat controller so it is only reachable from trusted internal hosts (do not bind to
0.0.0.0or expose it to the internet); place authentication (e.g., a shared secret or reverse-proxy access control) in front of the/register_workerand other controller-management endpoints; validate and allowlist worker addresses rather than trusting client-supplied values; block outbound requests to loopback, link-local, and internal metadata service addresses from the controller process; and monitor controller logs for unexpected worker registrations.
How IONIX identifies potentially affected assets
IONIX matches the following signals against data already collected when it crawled the asset; identifying the technology sends no request beyond that crawl.
- Meta tag
og:title:Chat with Open Large Language Models

