GHSA-vqhp-cxgc-6wmm

Suggest an improvement
Source
https://github.com/advisories/GHSA-vqhp-cxgc-6wmm
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2020/03/GHSA-vqhp-cxgc-6wmm/GHSA-vqhp-cxgc-6wmm.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-vqhp-cxgc-6wmm
Aliases
Published
2020-03-30T19:45:56Z
Modified
2024-09-06T16:00:47.452601Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
  • 8.7 (High) CVSS_V4 - 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 CVSS Calculator
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
Database specific
{
    "nvd_published_at": "2023-02-16T22:15:00Z",
    "cwe_ids": [
        "CWE-1333",
        "CWE-400"
    ],
    "severity": "HIGH",
    "github_reviewed": true,
    "github_reviewed_at": "2020-03-27T19:58:38Z"
}
References

Affected packages

PyPI / bleach

Package

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
3.1.4

Affected versions

0.*

0.1
0.1.1
0.1.2
0.2
0.2.1
0.2.2
0.3
0.3.1
0.3.3
0.3.4
0.5.0
0.5.1

1.*

1.0.0
1.0.1
1.0.2
1.0.3
1.0.4
1.1.0
1.1.1
1.1.2
1.1.3
1.1.4
1.1.5
1.2
1.2.1
1.2.2
1.4
1.4.1
1.4.2
1.4.3
1.5.0

2.*

2.0.0
2.1
2.1.1
2.1.2
2.1.3
2.1.4

3.*

3.0.0
3.0.1
3.0.2
3.1.0
3.1.1
3.1.2
3.1.3