Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister malicious OAuth client with long_lived_access_token scope
-
DeliverySend crafted authorization link to Rill user
-
ExploitVictim opens link, server issues code without consent
-
ExecutionExchange code for non-expiring API token
-
ImpactAccess data and act with victim's full permissions
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 | Exploitation requires that the Rill admin OAuth server has dynamic (open) client registration enabled - the default behavior in affected versions 0.77.0 through 0.90.5 - allowing an attacker to self-register a client requesting the long_lived_access_token scope. The critical limiting factor is mandatory victim interaction: an authenticated Rill user must open and approve the attacker-supplied authorization link, so the attack is phishing/social-engineering dependent and cannot be executed silently against the server alone. Impact is scoped to the lured user's permission level; an attacker who lures a high-privilege user obtains correspondingly broad, non-expiring access. |
| Impact | This is a credible, above-average priority issue rather than an inflated high-CVSS score. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H) scores 8.6 and is internally consistent with the description: a remote, unauthenticated attacker exploits the flaw over the network with low complexity, but exploitation is gated by passive user interaction (the victim must open and approve an authorization link). PR:N is justified because the attacker needs no prior credentials - they self-register an OAuth client via open dynamic client registration. No EPSS score, CISA KEV listing, or vendor-declared active-exploitation signal is present in the input, so there is no evidence of in-the-wild use; the probability signals are simply absent, not low. A detailed public technical write-up (hackmd) and direct source-line references to the vulnerable handlers exist, which materially lowers the bar for an attacker to reproduce the issue even though no packaged exploit tool is confirmed. The one real limiting factor is the user-interaction/consent-lure requirement, which makes this phishing-dependent and therefore better suited to targeted than fully automated mass exploitation. Net: a genuine authorization-bypass flaw with high confidentiality and integrity impact, worth prioritizing for any exposed Rill admin deployment, but its practical reach depends on successfully luring an authenticated Rill user. |
| Exploit ScenarioDerived | An attacker uses Rill's open dynamic client registration to register an OAuth client requesting the long_lived_access_token scope, then sends a victim Rill user a crafted authorization link (e.g., via phishing). When the user opens the link, the admin OAuth server issues an authorization code without a genuine consent step, which the attacker exchanges for a non-expiring API token carrying the victim's full permissions. A public technical write-up describing the flaw exists, though no packaged exploit tool is confirmed in the provided data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 11, 2026
Unauthenticated attackers can obtain a non-expiring API token carrying a victim's full Rill permissions by abusing open dynamic client registration in the admin OAuth server of Rill Data's Rill 0.77.0 through 0.90.5 (CWE-862, missing authorization). The attacker self-registers an OAuth client with the long_lived_access_token scope and must then convince a logged-in Rill user - typically through a phishing authorization link - to approve it, because exploitation requires user interaction and cannot be executed silently against the server alone; the resulting access is bounded by the lured user's privilege level, so a high-privilege victim yields correspondingly broad, non-expiring access. Rill is not listed in CISA KEV and no public exploit has been identified at time of analysis, although a public technical writeup of the technique is linked from the advisory; the CVSS 4.0 base score is 8.6, and the independent assessment rates this a credible, above-average priority issue rather than an inflated high-CVSS score.
RemediationAI
No vendor-released patch identified at time of analysis; the advisory references point at source code (commit b9ea8c6f215e56c4c0848771e70b3ec38346eacc) rather than a fixed release, so track https://github.com/rilldata/rill and https://www.vulncheck.com/advisories/rill-0.77.0-through-0.90.5-oauth-missing-authorization-via-dynamic-client-registration for an updated 0.90.x or later build and upgrade as soon as one ships. Until then, the highest-value compensating control is to disable dynamic/open client registration on the Rill admin OAuth server so clients must be pre-registered by an administrator - the trade-off is that legitimate MCP and third-party OAuth integrations can no longer self-onboard and must be whitelisted manually. Additionally, restrict dynamically registered clients from requesting the long_lived_access_token scope (forces short-lived tokens, slightly increasing re-auth friction for legitimate clients), and block or network-restrict the admin OAuth authorization and registration endpoints to trusted networks or a VPN/reverse proxy allowlist, which reduces the phishing reachability of the crafted authorization link but does not protect users who are already inside the perimeter. Audit the OAuth client registry for unknown or recently created clients and revoke any tokens already issued to them, and warn users not to approve unexpected Rill authorization prompts, since exploitation depends entirely on the victim opening and approving the attacker-supplied link.
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
The flaw sits in Rill's admin OAuth 2.0 authorization server, which supports dynamic (open) client registration - the default behavior in the affected 0.77.0-0.90.5 range - and issues authorization codes to self-registered clients without verifying that the resource owner actually consented to the specific client and scope requested. CWE-862 (Missing Authorization) is the correct root-cause class: an authorization decision that should gate the issuance of a code or token is absent rather than merely weak. The relevant implementation paths are admin/server/auth/handlers.go (lines ~650-697, the OAuth handler that mints codes), admin/server/auth/mcp_oauth.go (lines ~77-153, the Model Context Protocol OAuth integration used by agent/AI clients), and admin/server/auth/pkce.go (lines ~173-214, PKCE handling), all referenced in the advisory at commit b9ea8c6f215e56c4c0848771e70b3ec38346eacc. By registering a client that requests the privileged long_lived_access_token scope, an attacker turns the standard authorization-code flow into a token-minting primitive; once the victim approves the crafted authorization link, the attacker receives a token that does not expire and inherits the victim's Rill permissions. Because the request is a normal OAuth authorization URL, it is difficult to distinguish from legitimate consent prompts, and the weak point is consent validation and client trust in the registration step, not cryptographic weaknesses in PKCE. The affected component is identified as cpe:2.3:a:rill_data:rill:*.
Know when Rill 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:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Remote, low-complexity, no attacker auth needed (open client registration), but the victim must approve the authorization link so UI:R; token grants full read/write as the user so C:H/I:H, no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Rill 0.77.0 through 0.90.5 contains a missing authorization vulnerability in the admin OAuth server that issues authorization codes to dynamically registered clients without user consent. Attackers can register a client with the long_lived_access_token scope and lure a user to an authorization link, obtaining a non-expiring API token with the user's full permissions.
Executive ViewAI
Rill Data's Rill analytics platform (versions 0.77.0 through 0.90.5) contains a high-severity authorization flaw that lets an external party obtain a permanent API token carrying the full permissions of whichever Rill user they can persuade to approve a crafted authorization request. Because the resulting token never expires and inherits the victim's access level, a single successful phishing approval - particularly by an administrator or data owner - can yield durable, credential-equivalent access to the organization's analytics environment and the sensitive data it exposes. No vendor patch is currently available, so leadership should treat this as an exposure requiring configuration hardening and monitoring, not one that can be closed by routine patching.
No vendor-released patch identified at time of analysis; interim mitigations include restricting the admin OAuth server and its dynamic client registration endpoints to trusted networks, disabling open dynamic client registration and the long_lived_access_token scope where configuration permits, requiring explicit approval for OAuth clients, enforcing MFA and least privilege for Rill accounts, monitoring and alerting on new client registrations and token issuance, and promptly revoking unrecognized clients and tokens.
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-96992
GHSA-r44j-vvw7-323g
NVD
CVE.org
EPSS
Exploit-DB