mozilla/bleach · Security
regular expression denial-of-service (ReDoS) in Bleach
- GHSA ID
- GHSA-vqhp-cxgc-6wmm
- CVE ID
- CVE-2020-6817
- Severity
- high
- Published
- Updated
- CVSS
- 7.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- CVSS v3
- 7.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- CVSS v4
- 8.7 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Description
Impact
bleach.clean behavior parsing style attributes could result in a regular expression denial of service (ReDoS).
Calls to bleach.clean with an allowed tag with an allowed style attribute are vulnerable to ReDoS. For example, bleach.clean(..., attributes={'a': ['style']}).
Patches
3.1.4
Workarounds
-
do not whitelist the style attribute in
bleach.cleancalls -
limit input string length
References
- https://bugzilla.mozilla.org/show_bug.cgi?id=1623633
- https://www.regular-expressions.info/redos.html
- https://blog.r2c.dev/posts/finding-python-redos-bugs-at-scale-using-dlint-and-r2c/
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-6817
Credits
- Reported by schwag09 of r2c
For more information
If you have any questions or comments about this advisory:
- Open an issue at https://github.com/mozilla/bleach/issues
- Email us at [email protected]
CWEs
- CWE-400 · Uncontrolled Resource Consumption
- CWE-1333 · Inefficient Regular Expression Complexity
References
- https://github.com/mozilla/bleach/security/advisories/GHSA-vqhp-cxgc-6wmm ↗
- https://bugzilla.mozilla.org/show_bug.cgi?id=1623633 ↗
- https://github.com/mozilla/bleach/releases/tag/v3.1.4 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2020-6817 ↗
- https://snyk.io/vuln/SNYK-PYTHON-BLEACH-561754 ↗
- https://github.com/pypa/advisory-database/tree/main/vulns/bleach/PYSEC-2020-340.yaml ↗
- https://github.com/advisories/GHSA-vqhp-cxgc-6wmm ↗