simonw/datasette · Security
Reflected cross-site scripting issue in Datasette
- GHSA ID
- GHSA-xw7c-jx9m-xh5g
- CVE ID
- CVE-2021-32670
- Severity
- medium
- Published
- Updated
- CVSS
- 7.2 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
- CVSS v3
- 7.2 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
- CVSS v4
- 5.3 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Description
Impact
The ?_trace=1 debugging feature in Datasette does not correctly escape generated HTML, resulting in a reflected cross-site scripting vulnerability.
This vulnerability is particularly relevant if your Datasette installation includes authenticated features using plugins such as 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
For more information
If you have any questions or comments about this advisory:
- Open a discussion in simonw/datasette
- Email us at
swillison+datasette @ gmail.com
CWEs
- CWE-79 · Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
References
- https://github.com/simonw/datasette/security/advisories/GHSA-xw7c-jx9m-xh5g ↗
- https://github.com/simonw/datasette/issues/1360 ↗
- https://datasette.io/plugins/datasette-auth-passwords ↗
- https://github.com/advisories/GHSA-gff3-739c-gxfq ↗
- https://github.com/pypa/advisory-database/tree/main/vulns/datasette/PYSEC-2021-89.yaml ↗
- https://owasp.org/www-community/attacks/xss/#reflected-xss-attacks ↗
- https://pypi.org/project/datasette ↗
- https://github.com/advisories/GHSA-xw7c-jx9m-xh5g ↗