CVE-2021-43777
The `state` parameter should be used for a Cross-Site Request Forgery (CSRF) token, not a static and easily predicted value.
Does this matter?
Lower severity and a low EPSS score (0.30%). Track it; it rarely justifies an emergency change on its own.
Description
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.
- CVSS 3.1
- 6.1 MEDIUMCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- EPSS
- 0.30% probability · 22th percentile
- CISA KEV
- Not listed
- Weakness
- CWE-352, CWE-601
- Affected
- redash/redash
- Source
- security-advisories@github.com
References
- https://github.com/getredash/redash/commit/da696ff7f84787cbf85967460fac52886cbe063ePatch, Third Party Advisory
- https://github.com/getredash/redash/security/advisories/GHSA-vhc7-w7r8-8m34Third Party Advisory
- https://github.com/getredash/redash/commit/da696ff7f84787cbf85967460fac52886cbe063ePatch, Third Party Advisory
- https://github.com/getredash/redash/security/advisories/GHSA-vhc7-w7r8-8m34Third Party Advisory
Source: NVD record, EPSS from FIRST.org, KEV from CISA. Refreshed daily.