ghsa-vqhp-cxgc-6wmm
Vulnerability from github
Published
2020-03-30 19:45
Modified
2024-09-06 15:46
Severity ?
7.5 (High) - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
8.7 (High) - 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
8.7 (High) - 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
Summary
regular expression denial-of-service (ReDoS) in Bleach
Details
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.clean
calls -
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 security@mozilla.org
{ "affected": [ { "package": { "ecosystem": "PyPI", "name": "bleach" }, "ranges": [ { "events": [ { "introduced": "0" }, { "fixed": "3.1.4" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2020-6817" ], "database_specific": { "cwe_ids": [ "CWE-1333", "CWE-400" ], "github_reviewed": true, "github_reviewed_at": "2020-03-27T19:58:38Z", "nvd_published_at": "2023-02-16T22:15:00Z", "severity": "HIGH" }, "details": "### Impact\n\n`bleach.clean` behavior parsing style attributes could result in a regular expression denial of service (ReDoS).\n\nCalls to ``bleach.clean`` with an allowed tag with an allowed ``style`` attribute are vulnerable to ReDoS. For example, ``bleach.clean(..., attributes={\u0027a\u0027: [\u0027style\u0027]})``.\n\n### Patches\n\n3.1.4\n\n### Workarounds\n\n* do not whitelist the style attribute in `bleach.clean` calls\n\n* limit input string length\n\n### References\n\n* https://bugzilla.mozilla.org/show_bug.cgi?id=1623633\n* https://www.regular-expressions.info/redos.html\n* https://blog.r2c.dev/posts/finding-python-redos-bugs-at-scale-using-dlint-and-r2c/\n* https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-6817\n\n### Credits\n\n* Reported by schwag09 of r2c\n\n### For more information\nIf you have any questions or comments about this advisory:\n\n* Open an issue at https://github.com/mozilla/bleach/issues\n* Email us at security@mozilla.org", "id": "GHSA-vqhp-cxgc-6wmm", "modified": "2024-09-06T15:46:14Z", "published": "2020-03-30T19:45:56Z", "references": [ { "type": "WEB", "url": "https://github.com/mozilla/bleach/security/advisories/GHSA-vqhp-cxgc-6wmm" }, { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2020-6817" }, { "type": "WEB", "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1623633" }, { "type": "PACKAGE", "url": "https://github.com/mozilla/bleach" }, { "type": "WEB", "url": "https://github.com/mozilla/bleach/releases/tag/v3.1.4" }, { "type": "WEB", "url": "https://github.com/pypa/advisory-database/tree/main/vulns/bleach/PYSEC-2020-340.yaml" }, { "type": "WEB", "url": "https://snyk.io/vuln/SNYK-PYTHON-BLEACH-561754" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "type": "CVSS_V3" }, { "score": "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", "type": "CVSS_V4" } ], "summary": "regular expression denial-of-service (ReDoS) in Bleach" }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.