CVE-2026-81027
Received Received - Intake

Channel Pinning Bypass in One API

Vulnerability report for CVE-2026-81027, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-26

Last updated on: 2026-08-26

Assigner: VulnCheck

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-26
Last Modified
2026-08-26
Generated
2026-09-16
AI Q&A
2026-08-26
EPSS Evaluated
2026-09-14
NVD
EUVD

Affected Vendors & Products

Currently, no data is known.

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-862 The product does not perform an authorization check when an actor attempts to access a resource or perform an action.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-81027 is a missing authorization flaw in one-api versions up to 0.6.10. The software has two paths for channel pinning: one requiring admin privileges and another without role checks. The unprotected path allows any authenticated user with a valid API token to set a channel identifier via a URL parameter. This identifier is used to make upstream requests with the provider key of the selected channel, bypassing group restrictions and channel allowlists. A low-privilege user can manipulate the channel ID to access unauthorized channels and their provider keys.

Detection Guidance

Check one-api logs for requests to the /oneapi/proxy endpoint with a channelid URL parameter. Look for requests from low-privilege users accessing channels they should not have permission to use. Verify if the Authorization header in upstream requests matches channels not assigned to the user's group.

Impact Analysis

This vulnerability allows low-privilege users to access channels they are not authorized to use, potentially stealing paid upstream provider API keys. It can bypass per-group channel isolation and model allowlists, enabling unauthorized use of restricted resources. Attackers may enumerate all configured channels and forward requests using admin-level keys, compromising the operator's upstream provider account.

Compliance Impact

The vulnerability allows unauthorized access to channels and their associated provider keys, which could lead to data breaches or unauthorized data processing. This may violate GDPR's principles of data protection and user consent, as well as HIPAA's requirements for safeguarding protected health information by exposing sensitive API keys and enabling unauthorized data access.

Mitigation Strategies

Update one-api to the latest version beyond 0.6.10. If immediate update is not possible, modify middleware/auth.go to add admin role verification for the URL-parameter channel-pinning path. Ensure the channel identifier is validated against the user's group and model allowlist before processing requests.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-81027. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart