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.
Published: 2026-08-26
Score: 8.4 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability allows a legitimate user with an API token to pin an arbitrary channel by specifying its numeric ID in the URL path. Because the route only authenticates the caller’s token and does not enforce an administrative or role check, the request can be made by any registered user. Once the channel identifier is accepted, the server loads the channel configuration directly and forwards the request to the provider using the channel’s stored key. This bypasses any per-group restrictions and the provider’s allowlist, resulting in the token holder gaining the ability to use privileged provider credentials and potentially access resources or data that should be restricted.

Affected Systems

Vote”“songquanpeng:one-api” is the vendor and product name. The issue affects versions up through 0.6.10 of the software. No later revision that includes the fix is currently listed in the official references provided.

Risk and Exploitability

The CVSS score of 8.4 indicates high severity exploitation risk, and the absence of an EPSS score means no public exploitation data is available yet, but the flaw remains highly valuable for attackers who can obtain a valid API token. Because the token authentication is the sole guard, the attack vector is remote and does not require special network privileges. There is no listing in the CISA KEV catalog as of the data presented, but the nature of the flaw—privilege escalation via a missing authorization check—makes it a strong candidate for rapid exploitation once a product is deployed. The vulnerability is exploitable by any user with a valid token, which is a common condition for many deployments of this API, so the potential impact is widespread and immediate once a suitable token is acquired.

Generated by OpenCVE AI on August 26, 2026 at 17:58 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest official release of one-api that addresses the missing authorization check for channel pinning via URL parameters.
  • If an upgrade is not immediately possible, modify the API gateway or reverse proxy to strip or reject the channelid query parameter for non-admin users, ensuring that only properly authenticated administrative accounts can pin channels.
  • Implement additional server‑side validation that verifies the authenticated user’s permissions against the requested channel identifier before setting the outbound authorization header and forwarding the request.

Generated by OpenCVE AI on August 26, 2026 at 17:58 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 26 Aug 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 26 Aug 2026 16:00:00 +0000

Type Values Removed Values Added
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.
Title one-api through 0.6.10 Missing Authorization on URL-Parameter Channel Pinning
First Time appeared Intel
Intel oneapi
Weaknesses CWE-862
CPEs cpe:2.3:a:intel:oneapi:*:*:*:*:*:*:*:*
Vendors & Products Intel
Intel oneapi
References
Metrics cvssV3_1

{'score': 8.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N'}

cvssV4_0

{'score': 8.4, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-26T17:25:39.276Z

Reserved: 2026-08-26T15:23:05.016Z

Link: CVE-2026-81027

cve-icon Vulnrichment

Updated: 2026-08-26T17:25:11.591Z

cve-icon NVD

Status : Received

Published: 2026-08-26T16:16:45.253

Modified: 2026-08-26T18:17:05.420

Link: CVE-2026-81027

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-26T18:00:04Z

Weaknesses