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]}).
The product uses a regular expression with an inefficient, possibly exponential worst-case computational complexity that consumes excessive CPU cycles.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Bleach | Mozilla | * | 3.1.4 (excluding) |
Python-bleach | Ubuntu | bionic | * |
Python-bleach | Ubuntu | eoan | * |
Python-bleach | Ubuntu | esm-apps/bionic | * |
Python-bleach | Ubuntu | esm-apps/focal | * |
Python-bleach | Ubuntu | esm-apps/xenial | * |
Python-bleach | Ubuntu | focal | * |
Python-bleach | Ubuntu | trusty | * |
Python-bleach | Ubuntu | upstream | * |
Python-bleach | Ubuntu | xenial | * |
Attackers can create crafted inputs that
intentionally cause the regular expression to use
excessive backtracking in a way that causes the CPU
consumption to spike.