Scrapy versions up to 2.13.2 are vulnerable to a denial of service (DoS) attack due to a flaw in its brotli decompression implementation. The protection mechanism against decompression bombs fails to mitigate the brotli variant, allowing remote servers to crash clients with less than 80GB of available memory. This occurs because brotli can achieve extremely high compression ratios for zero-filled data, leading to excessive memory consumption during decompression.
The product does not properly control the allocation and maintenance of a limited resource.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Red Hat Enterprise Linux 10 | RedHat | brotli-0:1.1.0-7.el10_1 | * |
| Red Hat Enterprise Linux 10.0 Extended Update Support | RedHat | brotli-0:1.1.0-6.el10_0.1 | * |
| Red Hat Enterprise Linux 8 | RedHat | brotli-0:1.0.6-4.el8_10 | * |
| Red Hat Enterprise Linux 8 | RedHat | brotli-0:1.0.6-4.el8_10 | * |
| Red Hat Enterprise Linux 8.2 Advanced Update Support | RedHat | brotli-0:1.0.6-1.el8_2.1 | * |
| Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update Support | RedHat | brotli-0:1.0.6-4.el8_4 | * |
| Red Hat Enterprise Linux 8.4 Extended Update Support Long-Life Add-On | RedHat | brotli-0:1.0.6-4.el8_4 | * |
| Red Hat Enterprise Linux 8.6 Advanced Mission Critical Update Support | RedHat | brotli-0:1.0.6-4.el8_6 | * |
| Red Hat Enterprise Linux 8.6 Telecommunications Update Service | RedHat | brotli-0:1.0.6-4.el8_6 | * |
| Red Hat Enterprise Linux 8.6 Update Services for SAP Solutions | RedHat | brotli-0:1.0.6-4.el8_6 | * |
| Red Hat Enterprise Linux 8.8 Telecommunications Update Service | RedHat | brotli-0:1.0.6-4.el8_8 | * |
| Red Hat Enterprise Linux 8.8 Update Services for SAP Solutions | RedHat | brotli-0:1.0.6-4.el8_8 | * |
| Red Hat Enterprise Linux 9 | RedHat | brotli-0:1.0.9-9.el9_7 | * |
| Red Hat Enterprise Linux 9 | RedHat | brotli-0:1.0.9-9.el9_7 | * |
| Red Hat Enterprise Linux 9.0 Update Services for SAP Solutions | RedHat | brotli-0:1.0.9-6.el9_0.1 | * |
| Red Hat Enterprise Linux 9.2 Update Services for SAP Solutions | RedHat | brotli-0:1.0.9-6.el9_2.1 | * |
| Red Hat Enterprise Linux 9.4 Extended Update Support | RedHat | brotli-0:1.0.9-6.el9_4.1 | * |
| Red Hat Enterprise Linux 9.6 Extended Update Support | RedHat | brotli-0:1.0.9-7.el9_6.1 | * |
| Red Hat OpenShift Container Platform 4.14 | RedHat | rhcos-414.92.202602171627-0 | * |
| Red Hat OpenShift Container Platform 4.18 | RedHat | rhcos-418.94.202602172219-0 | * |
| Red Hat Ceph Storage 7 | RedHat | rhceph/rhceph-7-rhel9:sha256:df2032db9a082aa0d08adfc76a18d65548d2c2f14dedad0dc35bc0117aca42b8 | * |
| Red Hat Ceph Storage 8 | RedHat | rhceph/rhceph-8-rhel9:sha256:2325f237ab329cb3f1d3db4da40ed19f68d6daa2a5902c71be3f0d3cfcadd503 | * |
| Red Hat Ceph Storage 9 | RedHat | rhceph/rhceph-9-rhel9:sha256:53a72419a7e4f4b332b9c6759ff1c389f226e26599236bc770d367c68bba911a | * |
| Red Hat OpenShift Dev Spaces (RHOSDS) 3.26 | RedHat | devspaces/code-sshd-rhel9:sha256:4aff583803de7ebd055aa820c3167cf60fd65c4c5192cb86af65803c552871ec | * |
| Red Hat OpenShift Dev Spaces (RHOSDS) 3.26 | RedHat | devspaces/dashboard-rhel9:sha256:48de995db52924f4a20fc4c62c18a62223b3ef05ac5b5008dcb3628a4ee2767e | * |
| Red Hat OpenShift Dev Spaces (RHOSDS) 3.26 | RedHat | devspaces/jetbrains-ide-rhel9:sha256:cb7dfb0bcf96a8f8ddeea922aa9be138b734b085267e2ce6a89390a51349f57d | * |
| Red Hat OpenShift Dev Spaces (RHOSDS) 3.26 | RedHat | devspaces/openvsx-rhel9:sha256:d37e4c1f6f9bcebfb5ef805284b343d98d6e742adb589ade746321eade5863b4 | * |
| Red Hat OpenShift Dev Spaces (RHOSDS) 3.26 | RedHat | devspaces/pluginregistry-rhel9:sha256:26dd9fb71bfad01a9a62e5cd83768146120efea71107c89cd8ce3361e7c73b4b | * |
| Red Hat OpenShift Dev Spaces (RHOSDS) 3.26 | RedHat | devspaces/udi-rhel9:sha256:1a9e80f609eaf33cc252400a5e4371096dc549cbf9364e95dc6f38144fdb8bdf | * |
| Python-scrapy | Ubuntu | plucky | * |
Mitigation of resource exhaustion attacks requires that the target system either:
The first of these solutions is an issue in itself though, since it may allow attackers to prevent the use of the system by a particular valid user. If the attacker impersonates the valid user, they may be able to prevent the user from accessing the server in question.
The second solution is simply difficult to effectively institute – and even when properly done, it does not provide a full solution. It simply makes the attack require more resources on the part of the attacker.