Cross-site scripting in Bleach
Description
Impact
Amutation XSS affects users callingbleach.clean with all of:
svgormathin the allowed tagsporbrin allowed tagsstyle,title,noscript,script,textarea,noframes,iframe, orxmpin allowed tags- the keyword argument
strip_comments=False
Note: none of the above tags are in the default allowed tags andstrip_comments defaults toTrue.
Patches
Users are encouraged to upgrade to bleach v3.3.0 or greater.
Note: bleach v3.3.0 introduces a breaking change to escape HTML comments by default.
Workarounds
modify
bleach.cleancalls to at least one of:- not allow the
style,title,noscript,script,textarea,noframes,iframe, orxmptag - not allow
svgormathtags - not allow
porbrtags - set
strip_comments=True
- not allow the
A strongContent-Security-Policy without
unsafe-inlineandunsafe-evalscript-srcs) will also help mitigate the risk.
References
- https://bugzilla.mozilla.org/show_bug.cgi?id=1689399
- https://advisory.checkmarx.net/advisory/CX-2021-4303
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-23980
- https://cure53.de/fp170.pdf
Credits
- Reported byYaniv Nizry from the CxSCA AppSec group at Checkmarx
- Additional eject tags not mentioned in the original advisory and the CSP mitigation line being truncated in the revised advisory reported byMichał Bentkowski at Securitum
For more information
If you have any questions or comments about this advisory:
- Open an issue athttps://github.com/mozilla/bleach/issues
- Email us atsecurity@mozilla.org
References
- GHSA-vv2x-vrpj-qqpq
- mozilla/bleach@79b7a3c
- https://bugzilla.mozilla.org/show_bug.cgi?id=1689399
- https://cure53.de/fp170.pdf
- https://github.com/mozilla/bleach/blob/79b7a3c5e56a09d1d323a5006afa59b56162eb13/CHANGES#L4
- https://nvd.nist.gov/vuln/detail/CVE-2021-23980
- https://bugzilla.mozilla.org/show_bug.cgi?id=CVE-2021-23980
- https://advisory.checkmarx.net/advisory/CX-2021-4303
- https://github.com/pypa/advisory-database/tree/main/vulns/bleach/PYSEC-2021-865.yaml
- https://pypi.org/project/bleach
ReviewedFeb 2, 2021
Published to the GitHub Advisory DatabaseFeb 2, 2021
Published by theNational Vulnerability DatabaseFeb 16, 2023
Last updatedSep 13, 2024
Severity
Moderate / 10
CVSS v4 base metrics
Exploitability Metrics
Attack VectorNetwork
Attack ComplexityLow
Attack RequirementsNone
Privileges RequiredNone
User interactionNone
Vulnerable System Impact Metrics
ConfidentialityNone
IntegrityNone
AvailabilityNone
Subsequent System Impact Metrics
ConfidentialityLow
IntegrityLow
AvailabilityNone
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
EPSS score
(62nd percentile)
Weaknesses
WeaknessCWE-79
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.Learn more on MITRE.CVE ID
CVE-2021-23980
GHSA ID
GHSA-vv2x-vrpj-qqpq
Source code
LoadingChecking history
Uh oh!
There was an error while loading.Please reload this page.
See something to contribute?Suggest improvements for this vulnerability.