Redash is a package for data visualization and sharing. In Redash version 10.0 and prior, the implementation of Google Login (via OAuth) incorrectly uses the `state` parameter to pass the next URL to redirect the user to after login. The `state` parameter should be used for a Cross-Site Request Forgery (CSRF) token, not a static and easily predicted value. This vulnerability does not affect users who do not use Google Login for their instance of Redash. A patch in the `master` and `release/10.x.x` branches addresses this by replacing `Flask-Oauthlib` with `Authlib` which automatically provides and validates a CSRF token for the state variable. The new implementation stores the next URL on the user session object. As a workaround, one may disable Google Login to mitigate the vulnerability.
CVE Status: Modified
Attribute | Value |
---|---|
Attack Complexity | HIGH |
Attack Vector | NETWORK |
Availability Impact | NONE |
Base Score | 6.8 |
Base Severity | MEDIUM |
Confidentiality Impact | HIGH |
Integrity Impact | HIGH |
Privileges Required | LOW |
Scope | UNCHANGED |
User Interaction | NONE |
Vector String | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N |
Exploitability Score | 1.6 |
Impact Score | 5.2 |
Source | [email protected] |
Type | Secondary |