one-api through 0.6.10 Missing Authorization on URL-Parameter Channel Pinning
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · Low · None
- Fix status
- No fix listed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-862.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| songquanpeng | one-api | up to 0.6.10 | — | No fix listed | CNA |
- one-api Vendorsongquanpeng Affected up to 0.6.10 Fixed in — No fix listed CNA
Remediation
No fixed version listed by the sources yet.
Timeline
- 2026-10-02 Threatist record created from CVE-2026-81027
- 2026-10-03 Alias added: GHSA-877p-7prq-ffj6
References
More songquanpeng vulnerabilities
- TI-2025-03351 songquanpeng one-api System Setting cross site scripting CVSS 4.0MEDIUM 4.8
- TI-2026-09894 songquanpeng one-api Redemption Code Top-Up Endpoint redemption.go Redeem logic error CVSS 4.0LOW 2.3
Sources
- CVE-2026-81027 · CVE Program
- CVE-2026-81027 · NVD
- FIRST EPSS
- GHSA-877p-7prq-ffj6 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences