CVE-2021-32670
Reflected cross-site scripting issue in Datasette
Impact
### Impact The `?_trace=1` debugging feature in Datasette does not correctly escape generated HTML, resulting in a [reflected cross-site scripting](https://owasp.org/www-community/attacks/xss/#reflected-xss-attacks) vulnerability. This vulnerability is particularly relevant if your Datasette installation includes authenticated features using plugins such as [datasette-auth-passwords](https://datasette.io/plugins/datasette-auth-passwords) as an attacker could use the vulnerability to access protected data. ### Patches Datasette 0.57 and 0.56.1 both include patches for this issue. ### Workarounds If you run Datasette behind a proxy you can workaround this issue by rejecting any incoming requests with `?_trace=` or `&_trace=` in their query string parameters. ### References - [OWASP guide to reflected cross-site scripting](https://owasp.org/www-community/attacks/xss/#reflected-xss-attacks) - [Datasette issue #1360](https://github.com/simonw/datasette/issues/1360) ### For more information If you have any questions or comments about this advisory: * Open a discussion in [simonw/datasette](https://github.com/simonw/datasette/discussions) * Email us at `swillison+datasette @ gmail.com`
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | datasette | < 0.56.1 | 0.56.1 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Datasette | Datasette | before 0.56.1 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://datasette.io/plugins/datasette-auth-passwords
- https://github.com/simonw/datasette/issues/1360
- https://github.com/simonw/datasette/security/advisories/GHSA-xw7c-jx9m-xh5g
- https://owasp.org/www-community/attacks/xss/#reflected-xss-attacks
- https://pypi.org/project/datasette/
- https://github.com/advisories/GHSA-xw7c-jx9m-xh5g
- https://github.com/advisories/GHSA-gff3-739c-gxfq
- https://github.com/pypa/advisory-database/tree/main/vulns/datasette/PYSEC-2021-89.yaml
- https://pypi.org/project/datasette