Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Rill Data | rill | 0.77.0 – ≤ 0.90.5 | — |
References
- https://hackmd.io/@haind03/rill-oauth-open-registration-long-lived-token third-party-advisory
- https://github.com/rilldata/rill/blob/b9ea8c6f215e56c4c0848771e70b3ec38346eacc/admin/server/auth/handlers.go#L650-L697 technical-description
- https://github.com/rilldata/rill/blob/b9ea8c6f215e56c4c0848771e70b3ec38346eacc/admin/server/auth/mcp_oauth.go#L77-L153 technical-description
- https://github.com/rilldata/rill/blob/b9ea8c6f215e56c4c0848771e70b3ec38346eacc/admin/server/auth/pkce.go#L173-L214 technical-description
- https://github.com/rilldata/rill product
- VulnCheck Advisory: Rill 0.77.0 through 0.90.5 OAuth Missing Authorization via Dynamic Client Registration third-party-advisory