Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
PR:L because a valid API token is required; S:C and C:H because operator-configured upstream provider keys in other channel scopes are exposed to the attacker.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Lifecycle Timeline
2DescriptionCVE.org
one-api gates one of its two channel-pinning paths and not the other. middleware/auth.go permits a request to name a specific channel either through a suffix on the API key or through a URL path parameter. The suffix path is reached only after model.IsAdmin succeeds and otherwise rejects the caller, while the path-parameter branch sets the selected-channel value from c.Param("channelid") with no role check at all. The route carrying that parameter sits behind token authentication only, so any account holding a valid API token reaches it. The value flows to the distributor, which loads the channel by integer identifier with no scoping to the caller's user or group, and then sets the outbound Authorization header to that channel's stored key and directs the request at the channel's base URL. A low-privilege account can therefore pin any channel by incrementing an identifier, causing the server to make upstream requests bearing an operator-configured provider key the account was never granted, and bypassing both the per-group restriction and the channel's model allowlist.
AnalysisAI
Channel-pinning authorization bypass in one-api through v0.6.10 allows any holder of a valid API token to route requests through arbitrary operator-configured upstream provider channels they were never granted access to. The flaw exists because middleware/auth.go implements two channel-selection paths - a key-suffix path correctly gated by an admin role check, and a URL path parameter path (channelid) carrying no role check at all - so a low-privilege account can enumerate integer channel IDs and cause the server to forward requests bearing provider API keys (e.g., OpenAI, Anthropic) configured by the operator. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Exploitation requires possession of any valid one-api API token, including tokens issued to low-privilege or standard user accounts - this is the sole credential gate on the vulnerable route. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The CVSS 4.0 score of 8.4 (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N) accurately models the threat: network-accessible, low complexity, requiring only a low-privilege token, with high confidentiality impact on the vulnerable system and high subsequent-system confidentiality impact representing exposure of the operator's upstream provider accounts. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | An attacker holding any valid low-privilege one-api API token sends HTTP requests to the channel-pinning URL path parameter endpoint, iterating integer channelid values (e.g., 1, 2, 3...) until a valid channel responds. For each valid channel discovered, the server transparently forwards the attacker's AI inference request using the operator's stored upstream provider API key for that channel, granting the attacker access to provider accounts, quota, and model tiers they were never authorized to use. … |
| Remediation | No vendor-released patched version is identified in the available data at time of analysis; operators must verify current fix status via the GitHub issue at https://github.com/songquanpeng/one-api/issues/2410 and the VulnCheck advisory at https://www.vulncheck.com/advisories/one-api-through-0.6.10-missing-authorization-on-url-parameter-channel-pinning before any confirmed patch version can be cited. … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours: Identify all one-api deployments, verify versions, and audit API token distribution and associated channel privileges. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
Same weakness CWE-862 – Missing Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-66603
GHSA-877p-7prq-ffj6