Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privileged authenticated JWT
-
ExploitQuery GET /api/providers and /api/voice/providers
-
ExecutionReceive plaintext LLM/voice provider API keys
-
ImpactAbuse upstream provider accounts
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a valid authenticated low-privileged Octop account/JWT (PR:L) - not exploitable by fully unauthenticated attackers - and requires that one or more LLM or voice provider API keys have actually been configured and stored in the instance. The practical exposure applies to multi-user or multi-tenant deployments where low-privileged users exist who should not have access to provider credentials; in a single-operator install the data is only readable by its legitimate owner. The limiting factor is that the two endpoints still enforce JWT validity (authentication succeeds) but perform no per-role or per-owner authorization check, so any authenticated session is sufficient. No special non-default configuration, platform, or user interaction is needed beyond holding a token. |
| Impact | This is a genuine, moderately-high-priority confidentiality flaw rather than a CVSS-inflated non-issue, but its real-world urgency is tightly bounded by the authentication requirement. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N, 7.1 High) is internally consistent with the description: network-reachable endpoints, no user interaction, low attacker effort, and high confidentiality impact (plaintext API key disclosure) with no integrity or availability impact. The key limiting signal is PR:L - exploitation requires a valid authenticated low-privileged account, so this is not a pre-auth mass-exploitable bug. No EPSS score, CISA KEV listing, or formal exploit code is present in the input, so there is NO evidence of active or widespread exploitation; the vulnerability is best treated as an insider/post-compromise privilege-and-data-exposure issue. A detailed public technical writeup (hackmd) and a VulnCheck advisory exist, which raises the practical likelihood that a working reproduction is or will become available even though packaged exploit code is not confirmed. SSVC-style read: exploitation = none observed, automatable = yes (simple authenticated GET requests, no special preconditions beyond a token), technical impact = partial-to-total for the exposed credentials. Net: prioritize for multi-user/multi-tenant Octop deployments where low-privileged accounts exist and provider keys are stored; de-prioritize for single-operator installs. |
| Exploit ScenarioDerived | An attacker who holds or phishes any low-privileged Octop account (or an authorized but untrusted tenant user) sends authenticated GET requests to /api/providers and /api/voice/providers; because these endpoints validate only the JWT and not the caller's role or ownership, they return the stored LLM and voice provider API keys in plaintext. The attacker then uses those upstream credentials to run up charges, exfiltrate data, or pivot into the connected provider accounts. No packaged public exploit is confirmed, but a public technical writeup describing the cross-role read exists. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 10, 2026
Missing authorization in TencentCloud Octop through 1.0.2b6 lets any authenticated low-privileged user retrieve plaintext LLM and voice provider API keys by calling GET /api/providers and GET /api/voice/providers. Those routes validate the caller's JWT but perform no role, tenant, or ownership check, so in multi-user or multi-tenant deployments any account holding a token is sufficient to harvest credentials and abuse the upstream provider accounts; a single-operator install is largely limited to the legitimate owner reading their own keys. Independent assessment rates this as a genuine moderately-high confidentiality flaw bounded by the PR:L prerequisite (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N), and the current exploitation status is: no public exploit identified at time of analysis, despite a public technical writeup and upstream pull requests referencing the issue.
RemediationAI
Patch status: upstream fix available (PR/commit); released patched version not independently confirmed. Track https://github.com/TencentCloud/Octop/pull/1507 and https://github.com/TencentCloud/Octop/pull/1265 and upgrade to the first tagged Octop release that contains them - note the supplied PR 1265 diff is largely unrelated frontend/accessibility work, so confirm the authorization change is actually present in the build you deploy rather than assuming the PR number alone resolves it. Until a patched release is available and deployed, treat every LLM and voice provider API key stored in the instance as compromised: rotate them at the upstream providers, issue replacements with least-privilege scopes and spending limits, and reconfigure Octop with the new keys - the trade-off is brief service interruption for dashboards or agents pinned to the old keys. Reduce the number of authenticated accounts that can reach the API (or disable multi-user access if the deployment allows), since any valid JWT is sufficient; this costs you delegated/team workflows. Restrict network reachability of /api/providers and /api/voice/providers to trusted management networks or an authenticating reverse proxy with an IP allowlist, accepting that remote dashboard users must then tunnel in. If you own the deployment, the direct fix is to add an owner/role authorization dependency to those handlers and mask key material in serialized responses - effective but requires code maintenance and testing on upgrade. Enable or retain access logging on those two routes to detect credential harvesting, and monitor upstream provider usage dashboards for anomalies that indicate keys are already being abused.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Octop is a Python/FastAPI-based LLM and voice agent orchestration platform whose dashboard is backed by JSON routers, including the provider router at src/octop/api/routers/providers.py (referenced lines 120-208) and an analogous /api/voice/providers route. The root-cause class is CWE-862 (Missing Authorization): the routes are guarded by a JWT validation dependency that confirms the caller is a valid, authenticated user, but no downstream dependency or in-handler check scopes the returned provider records to the caller's role, tenant, or ownership. Because provider configuration objects hold the upstream LLM and voice provider API keys and are serialized back in plaintext without masking, the endpoints effectively function as a cross-role credential read primitive - the reporter's 'Authentication Bypass' tag reflects the practical outcome (authorization bypass) even though authentication itself still succeeds. This is a conflation of authentication with authorization rather than a token-validation weakness, and it needs no non-default configuration, platform, or user interaction beyond possessing a valid token and at least one stored provider key. No CPE strings were supplied with the advisory data, so identification relies on the vendor/product name and source references.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable endpoints need only a valid low-privileged JWT (PR:L, AC:L, no UI); impact is plaintext credential disclosure so C:H, I:N, A:N, scope unchanged.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
DescriptionCVE.org
TencentCloud Octop through 1.0.2b6 contains a missing authorization vulnerability that allows authenticated low-privileged users to read stored provider API keys via GET /api/providers and GET /api/voice/providers. Attackers can query these endpoints, which only validate the JWT, to obtain plaintext LLM and voice provider API keys and abuse the upstream provider accounts.
Executive ViewAI
TencentCloud Octop deployments up to version 1.0.2b6 expose stored LLM and voice provider API keys to any user holding a valid login token, because two API endpoints return credentials without checking role, tenant, or ownership. In multi-user or multi-tenant environments this lets a low-privileged insider or any compromised standard account harvest billable third-party credentials, creating direct financial exposure and downstream service abuse. Leadership should treat this as a credential-governance and cloud-spend risk rather than a purely technical bug, since the leaked keys are the keys to externally billed AI and voice services.
No vendor-released patch identified at time of analysis; interim mitigations: rotate and scope all stored LLM/voice provider keys now, restrict or block network access to the affected API routes, reduce Octop to single-operator or strictly administrator-only accounts, add upstream spend limits and anomaly alerting, and place an authorization-enforcing reverse proxy in front of Octop.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-96364
GHSA-c344-c8vm-8rxv
NVD
CVE.org
EPSS
VulDB
Exploit-DB