CVE-2023-45802 Apache HTTP Server: HTTP/2 stream memory not reclaimed right away on RST
An attacker can cause memory exhaustion in Apache HTTP Server by repeatedly resetting HTTP/2 streams, leading to denial of service.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2023-45802?
CVE-2023-45802 is a medium-severity denial of service vulnerability in Apache Http Server, published on 23 Oct 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
When a HTTP/2 stream was reset (RST frame) by a client, there was a time window were the request's memory resources were not reclaimed immediately. Instead, de-allocation was deferred to connection close. A client could send new requests and resets, keeping the connection busy and open and causing the memory footprint to keep on growing. On connection close, all resources were reclaimed, but the process might run out of memory before that.
This was found by the reporter during testing of CVE-2023-44487 (HTTP/2 Rapid Reset Exploit) with their own test client. During "normal" HTTP/2 use, the probability to hit this bug is very low. The kept memory would not become noticeable before the connection closes or times out.
Users are recommended to upgrade to version 2.4.58, which fixes the issue.
Weakness: CWE-404
Which versions are affected by CVE-2023-45802?
1 open source package ship an affected version, including apache. It affects 3 products.
| Package | Affected | Fixed in |
|---|---|---|
apache Bitnami | From 2.4.17 | 2.4.58 |
Linux distribution packages (33)
apache2 SUSE:Enterprise Storage 7.1 | All versions | 2.4.51-150200.3.76.1 |
apache2 SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | All versions | 2.4.51-150200.3.76.1 |
apache2 SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | All versions | 2.4.51-150200.3.76.1 |
apache2 SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | All versions | 2.4.51-150400.6.40.1 |
apache2 SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | All versions | 2.4.51-150400.6.43.1 |
apache2 SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | All versions | 2.4.51-150400.6.40.1 |
apache2 SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | All versions | 2.4.51-150400.6.43.1 |
apache2 SUSE:Linux Enterprise Module for Basesystem 15 SP5 | All versions | 2.4.51-150400.6.40.1 |
apache2 SUSE:Linux Enterprise Module for Basesystem 15 SP5 | All versions | 2.4.51-150400.6.43.1 |
apache2 SUSE:Linux Enterprise Module for Package Hub 15 SP5 | All versions | 2.4.51-150400.6.40.1 |
apache2 SUSE:Linux Enterprise Module for Package Hub 15 SP5 | All versions | 2.4.51-150400.6.43.1 |
apache2 SUSE:Linux Enterprise Module for Server Applications 15 SP5 | All versions | 2.4.51-150400.6.40.1 |
apache2 SUSE:Linux Enterprise Module for Server Applications 15 SP5 | All versions | 2.4.51-150400.6.43.1 |
apache2 SUSE:Linux Enterprise Module for Server Applications 15 SP6 | All versions | 2.4.51-150400.6.40.1 |
apache2 SUSE:Linux Enterprise Module for Server Applications 15 SP6 | All versions | 2.4.51-150400.6.43.1 |
apache2 SUSE:Linux Enterprise Server 12 SP5-LTSS | All versions | 2.4.51-35.66.1 |
apache2-tls13 SUSE:Linux Enterprise Server 12 SP5-LTSS | All versions | 2.4.51-35.66.1 |
apache2 SUSE:Linux Enterprise Server 15 SP2-LTSS | All versions | 2.4.51-150200.3.76.1 |
apache2 SUSE:Linux Enterprise Server 15 SP3-LTSS | All versions | 2.4.51-150200.3.76.1 |
apache2 SUSE:Linux Enterprise Server 15 SP4-LTSS | All versions | 2.4.51-150400.6.40.1 |
apache2 SUSE:Linux Enterprise Server 15 SP4-LTSS | All versions | 2.4.51-150400.6.43.1 |
apache2 SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | All versions | 2.4.51-35.66.1 |
apache2-tls13 SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | All versions | 2.4.51-35.66.1 |
apache2 SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | All versions | 2.4.51-150200.3.76.1 |
apache2 SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | All versions | 2.4.51-150200.3.76.1 |
apache2 SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | All versions | 2.4.51-150400.6.40.1 |
apache2 SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | All versions | 2.4.51-150400.6.43.1 |
apache2 SUSE:Manager Proxy 4.3 | All versions | 2.4.51-150400.6.40.1 |
apache2 SUSE:Manager Proxy 4.3 | All versions | 2.4.51-150400.6.43.1 |
apache2 SUSE:Manager Server 4.3 | All versions | 2.4.51-150400.6.40.1 |
apache2 SUSE:Manager Server 4.3 | All versions | 2.4.51-150400.6.43.1 |
apache2 openSUSE:Leap 15.5 | All versions | 2.4.51-150400.6.40.1 |
apache2 openSUSE:Leap 15.5 | All versions | 2.4.51-150400.6.43.1 |
Products include Apache Http Server, Debian Debian Linux, Fedoraproject Fedora.
How do I fix CVE-2023-45802?
Upgrade apache to 2.4.58 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2023-45802 being exploited?
There is no known exploitation of CVE-2023-45802 in the wild and no public exploit code.
Public exploit code: 1 proofs of concept on GitHub.
Other vulnerabilities in Apache Http Server
Sources
Also known as ALPINE-CVE-2023-45802, AZL-31611, AZL-43531, AZL-45147, BELL-CVE-2023-45802, BIT-apache-2023-45802 and 10 more.