GPUStack Authentication Bypass via Loopback Source Grants Admin
- Investigating(current)
- Trending(upcoming)
- Workaround available(upcoming)
- Resolved(upcoming)
Executive summary
GPUStack before version 2.2.0 contains an authentication bypass vulnerability where requests from a trusted loopback source are automatically promoted to the built-in administrator account when force_auth_localhost is False. This allows unauthenticated attackers to gain administrative privileges via a same-host reverse proxy or X-GPUStack-Real-IP header spoofing.
No verified workaround yet
None of the linked reports describe a mitigation. Follow this incident to hear when one appears.
Official fixThe `get_current_user` function in `gpustack/api/auth.py` evaluates request sources and incorrectly promotes requests to the admin account if they appear to originate from loopback, relying on client IP resolution that can be spoofed via reverse-proxy TCP peers or the X-GPUStack-Real-IP header.
Evidence
1 report · 1 CVEShow
- [1]CVE First reportGPUStack: Authentication bypass via trusted loopback source (reverse-proxy TCP peer or X-GPUStack-Real-IP header) grants unauthenticated admin(opens security advisory in a new tab)
Fixed in: gpustack 2.2.0. Critical severity (CVE-2026-102895). Affected: gpustack (pip) < 2.2.0. ### Impact 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: 1. **Same-host reverse proxy (TCP peer).**…
by GitHub Advisory Database 0upvotes 0comments
Timeline
- First report on security advisory
GPUStack: Authentication bypass via trusted loopback source (reverse-proxy TCP peer or X-GPUStack-Real-IP header) grants unauthenticated admin
Source