GHSA-xw7c-jx9m-xh5g
Reflected cross-site scripting issue in Datasette
Quick fix
GHSA-xw7c-jx9m-xh5g — datasette: upgrade to the fixed version with the command below.
pip install --upgrade 'datasette>=0.56.1'Details
### 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`
Are you affected?
Enter the version of the package you're using.
Affected packages
References
- https://github.com/simonw/datasette/security/advisories/GHSA-xw7c-jx9m-xh5g[WEB]
- https://github.com/simonw/datasette/issues/1360[WEB]
- https://datasette.io/plugins/datasette-auth-passwords[WEB]
- https://github.com/advisories/GHSA-gff3-739c-gxfq[ADVISORY]
- https://github.com/pypa/advisory-database/tree/main/vulns/datasette/PYSEC-2021-89.yaml[WEB]
- https://github.com/simonw/datasette[PACKAGE]
- https://owasp.org/www-community/attacks/xss/#reflected-xss-attacks[WEB]
- https://pypi.org/project/datasette[WEB]