In GPUStack before v2.2.0, get_current_user (in gpustack/api/auth.py) promotes any request whose source is considered loopback to the built-in administrator account when force_auth_localhost is False (the default). The "source" is derived by client_ip_getter, which can be made to report 127.0.0.1 without any credentials in two ways:
proxy_pass http://127.0.0.1:<port> — every remote request arrives at GPUStack with TCP
peer 127.0.0.1, so the loopback auto-admin branch fires. No header or
credential is required. Verified end-to-end against HEAD 6bee5883.X-GPUStack-Real-IP header. A forged X-GPUStack-Real-IP: 127.0.0.1
header can cause the request source to be treated as loopback.Either path yields full, unauthenticated administrative access over the network: enumerate and modify users, models, workers, and configuration; mint persistent admin API keys (scope ["*"], valid from any source IP thereafter); read worker credentials and cloud/provider secrets. Combined with admin-only functionality such as POST /v2/inference-backends/from yaml, this leads to code execution on worker hosts.
This vulnerability has been observed exploited in the wild against a v2.1.1 deployment (attacker-created custom backends running reverse shells).
Trusting the network source of a request (socket peer, or a client-controllable header) as an authentication signal. When GPUStack is fronted by a same-host reverse proxy, the socket peer is always loopback, so the "localhost is trusted" assumption no longer holds.
Fixed in gpustack 2.2.0: the loopback auto-admin path was removed and client-IP / forwarding-header handling was hardened. Upgrade to 2.2.0 or later.
force_auth_localhost=true to require authentication even for loopback
requests.X-GPUStack-Real-IP
header at the edge.Do not derive authentication from the request's network source. Remove implicit loopback-based admin, and only accept a real client-IP header from an authenticated/trusted gateway (never from arbitrary clients).
Independently reported by Nikko Enggaliano; Wei Yunzhou; and Rui Yang & Haoyu Wang (Johns Hopkins University). Active in the-wild exploitation was reported by Javier Sixto (ulex.fr).
{
"cwe_ids": [
"CWE-287",
"CWE-290",
"CWE-346"
],
"github_reviewed": true,
"github_reviewed_at": "2026-11-09T22:15:27Z",
"nvd_published_at": "2026-11-04T22:17:44Z",
"severity": "CRITICAL"
}