Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as project user holding write_api_keys
-
DeliveryCreate service_account API key with unvalidated scopes
-
ExploitAssign system-level scope read_channels
-
ExecutionQuery /admin/graphql with minted key
-
ImpactRead all channels' base URLs and model lists
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Privilege assignment review
|
| Exploitation Conditions | Exploitation requires an authenticated AxonHub principal who holds the project-level write_api_keys scope (CVSS PR:L); it is not exploitable by anonymous/unauthenticated users. The specific trigger is creating a service_account-type API key whose requested scopes are not validated against the creator's own granted scopes, allowing a project user to attach system-level scopes (e.g., read_channels) to the minted key and then call the /admin/graphql endpoint. Limiting factors: a valid account with write_api_keys is mandatory, the deployment must be AxonHub at or before 1.0.0-beta11, no user interaction is needed, and the demonstrated confidentiality impact is reading channel configuration (base URLs, model lists); broader impact (e.g., system credential exposure via data-storage scopes) depends on which system scopes the attacker chooses to mint, which the pre-patch code did not restrict. |
| Impact | This is a genuine but moderate-priority issue rather than a top-tier emergency. The supplied CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N) scores 5.3 (Medium): the attack is network-reachable with low complexity and no user interaction, but it is NOT unauthenticated - PR:L means the attacker must already hold a valid AxonHub account with the project-level write_api_keys scope, which is the single largest limiting factor. The rated impact is confidentiality-only and Low (VC:L), matching the description's stated outcome of reading channel configuration (base URLs, model lists). The vuln.today Decision label is 'this_month' - meaningful but explicitly not act_now/emergency - and this is consistent with the signals: no CISA KEV listing is present in the input, so there is no confirmed active exploitation, and no EPSS probability was provided, so widespread-exploitation likelihood cannot be quantified from this data. A public write-up (hackmd) is referenced, so exploit knowledge is public even though no confirmed working exploit package is supplied. One important nuance worth flagging for responders: the root cause is unvalidated scope assignment on service_account keys, meaning a project user can mint keys carrying arbitrary system-level scopes - the patch evidence shows data storages hold system-wide credentials (DSN, S3 keys, WebDAV passwords) and now require a dedicated read_data_storages scope, so the latent blast radius of the scope-minting flaw is larger than the demonstrated channel-config read, even though the officially rated and description-confirmed impact remains Low confidentiality. Net: prioritize patching within the normal cycle, but it does not warrant emergency out-of-band action on these signals alone. |
| Exploit ScenarioDerived | An attacker who already has an authenticated AxonHub project account with the write_api_keys scope creates a service_account API key and assigns it system-level scopes such as read_channels, which the server fails to validate against the creator's own privileges. Using that minted key, the attacker calls the /admin/graphql endpoint to enumerate every channel's configuration across the whole system, including upstream base URLs and model lists. A public technical write-up describing this scope-escalation path is referenced (hackmd), though no confirmed working exploit package is provided in the input. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Privilege escalation in AxonHub through 1.0.0-beta11 lets an authenticated project user who holds the write_api_keys scope mint a service_account API key carrying system-level scopes such as read_channels, then call the /admin/graphql endpoint to read every channel's configuration, including base URLs and model lists. Exploitation requires an authenticated principal with that project-level scope (CVSS PR:L) and no user interaction; the assessed vector rates confidentiality impact as low with no integrity or availability effect, and broader exposure depends on which system-level scopes the attacker chooses to mint because the pre-patch code did not restrict them. A public technical writeup of the scope-grant flaw exists but is not verified as working exploit code, and the vendor has published an upstream fix (PR #2741 / commit e5c904ef); there is no CISA KEV entry and the issue is triaged as this_month rather than an emergency.
RemediationAI
Upgrade to a release that contains the upstream fix (pull request https://github.com/looplj/axonhub/pull/2741, commit https://github.com/looplj/axonhub/commit/e5c904efbdabd80d74827dfae478330339c5a514); the evidence confirms an upstream fix is available but does not name a tagged patched release beyond 1.0.0-beta11, so confirm the built image or binary includes that commit before considering the deployment remediated. Post-patch behaviour to verify after upgrading: service account keys can only carry scopes their creator can grant, API key queries on requests, threads and traces are filtered to the key's own project, and data storage records require the system-level read_data_storages scope. In the interim, restrict the write_api_keys scope to a small set of trusted project members, audit and revoke or re-mint any service_account key that already carries system-level scopes such as read_channels or read_data_storages - noting that rotation itself requires the ability to grant those scopes, so an affected key may need to be deleted by a system owner - and limit network reachability of the /admin/graphql endpoint to trusted networks. The vendor documentation update in docs/en/guides/permissions.md (and the Chinese equivalent) describes the intended scope-grant model and is useful for validating that the deployed version enforces it.
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
AxonHub is a Go-based LLM gateway/router that exposes an admin GraphQL API and uses the ent ORM with a scope-based RBAC policy layer (scopes such as write_api_keys, write_requests, read_channels and read_data_storages). The root cause is CWE-266 (Incorrect Privilege Assignment): the service_account API key creation path in internal/server/biz/api_key.go (referenced lines 340 and 448 of v1.0.0-beta11) accepted caller-supplied scope lists without checking that the creating principal could actually grant those scopes, so a project-level user could attach system-level scopes to a new key. The fix commit shows a second, related weakness in the authorization rules themselves: ent schema policies for Request, Thread, Trace and UsageLog bound read/write to a system-wide scope rule on write_requests, and DataStorage reads were gated on write_requests instead of the system-level read_data_storages scope, meaning a project-scoped key could act beyond its project. The patch replaces those with APIKeyProjectScopeReadRule/APIKeyProjectScopeWriteRule (confining keys to their own project) and requires read_data_storages for data storage records, which the commit notes hold system-wide credentials (DSN, S3 keys, WebDAV passwords); it also makes key rotation subject to the same grant check so a project member cannot rotate a key carrying system scopes. The exact request flow that reaches the vulnerable code path is only partially described in the available sources: the demonstrated outcome is scope escalation on key creation followed by /admin/graphql channel reads.
Know when Axonhub gets its next vulnerability
- 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:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable admin GraphQL with low complexity and no UI; PR:L because the attacker must already hold the project write_api_keys scope; impact is confidentiality-only and Low, matching the described channel-config read, with no integrity or availability effect.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
AxonHub through 1.0.0-beta11 contains a privilege escalation vulnerability that allows project users to assign system-level scopes by creating service_account API keys with unvalidated scopes. Attackers holding write_api_keys can mint keys with read_channels and query /admin/graphql to read every channel's configuration, including base URLs and model lists.
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
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
EUVD-2026-113936
GHSA-cvgf-hhh8-56v5
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB