Rill: Missing authorization in OAuth dynamic client registration
Summary
Rill versions 0.77.0 through 0.90.5 issue OAuth authorization codes to dynamically registered clients without user consent. An attacker can register a client with the long_lived_access_token scope and lure a logged-in user to an authorization link. The attacker then obtains a non-expiring API token with the user's full permissions. User interaction is required, but no prior privileges are needed.
Affected
- Rill 0.77.0 through 0.90.5 according to the CVE record (VulnCheck)
- VulDB lists only 0.90.0 through 0.90.5; the affected range is unclear
- Whether self-hosted installations expose the admin OAuth server is unknown
Fixed in
Unknown. No vendor advisory or confirmed fixed version found.
- Candidate v0.90.6 on the GitHub releases page is not linked to this CVE and is unverified
Workaround
- No vendor-confirmed workaround found
- Restrict access to the admin OAuth endpoints, for example with network allowlists or a reverse proxy, until a fix is confirmed
Exploitation
- Not marked as known exploited (KEV)
- VulDB reports no available exploit
- A third-party write-up exists; its PoC status is unverified
Our recommendation
- Inventory whether Rill is in use and which version runs
- Check whether the admin OAuth endpoints are reachable from the internet, and prioritise Rill Cloud or internet-facing admin services
- Review OAuth clients and API tokens for unknown entries and revoke them
- Tell users not to approve unexpected authorization requests and reinforce phishing awareness
- Upgrade only after the vendor confirms a fixed version
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- VulnCheck advisory www.vulncheck.com
- Rill repository github.com
- Rill releases github.com
- VulDB entry vuldb.com
- Third-party write-up hackmd.io
- Code reference handlers.go github.com
- Code reference mcp_oauth.go github.com
- Code reference pkce.go github.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 08:53.
Original description (NVD)
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.
NVD references (6)
- https://github.com/rilldata/rill
- https://github.com/rilldata/rill/blob/b9ea8c6f215e56c4c0848771e70b3ec38346eacc/admin/server/auth/handlers.go#…
- https://github.com/rilldata/rill/blob/b9ea8c6f215e56c4c0848771e70b3ec38346eacc/admin/server/auth/mcp_oauth.go…
- https://github.com/rilldata/rill/blob/b9ea8c6f215e56c4c0848771e70b3ec38346eacc/admin/server/auth/pkce.go#L173…
- https://hackmd.io/@haind03/rill-oauth-open-registration-long-lived-token
- https://www.vulncheck.com/advisories/rill-0.77.0-through-0.90.5-oauth-missing-authorization-via-dynamic-clien…
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
