CVE-2023-45802 Apache HTTP Server: HTTP/2 stream memory not reclaimed right away on RST

Medium 5.9 Published Updated

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.

PackageAffectedFixed in
apache BitnamiFrom 2.4.172.4.58
Linux distribution packages (33)
apache2 SUSE:Enterprise Storage 7.1All versions2.4.51-150200.3.76.1
apache2 SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSSAll versions2.4.51-150200.3.76.1
apache2 SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSSAll versions2.4.51-150200.3.76.1
apache2 SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSAll versions2.4.51-150400.6.40.1
apache2 SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSAll versions2.4.51-150400.6.43.1
apache2 SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSSAll versions2.4.51-150400.6.40.1
apache2 SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSSAll versions2.4.51-150400.6.43.1
apache2 SUSE:Linux Enterprise Module for Basesystem 15 SP5All versions2.4.51-150400.6.40.1
apache2 SUSE:Linux Enterprise Module for Basesystem 15 SP5All versions2.4.51-150400.6.43.1
apache2 SUSE:Linux Enterprise Module for Package Hub 15 SP5All versions2.4.51-150400.6.40.1
apache2 SUSE:Linux Enterprise Module for Package Hub 15 SP5All versions2.4.51-150400.6.43.1
apache2 SUSE:Linux Enterprise Module for Server Applications 15 SP5All versions2.4.51-150400.6.40.1
apache2 SUSE:Linux Enterprise Module for Server Applications 15 SP5All versions2.4.51-150400.6.43.1
apache2 SUSE:Linux Enterprise Module for Server Applications 15 SP6All versions2.4.51-150400.6.40.1
apache2 SUSE:Linux Enterprise Module for Server Applications 15 SP6All versions2.4.51-150400.6.43.1
apache2 SUSE:Linux Enterprise Server 12 SP5-LTSSAll versions2.4.51-35.66.1
apache2-tls13 SUSE:Linux Enterprise Server 12 SP5-LTSSAll versions2.4.51-35.66.1
apache2 SUSE:Linux Enterprise Server 15 SP2-LTSSAll versions2.4.51-150200.3.76.1
apache2 SUSE:Linux Enterprise Server 15 SP3-LTSSAll versions2.4.51-150200.3.76.1
apache2 SUSE:Linux Enterprise Server 15 SP4-LTSSAll versions2.4.51-150400.6.40.1
apache2 SUSE:Linux Enterprise Server 15 SP4-LTSSAll versions2.4.51-150400.6.43.1
apache2 SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5All versions2.4.51-35.66.1
apache2-tls13 SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5All versions2.4.51-35.66.1
apache2 SUSE:Linux Enterprise Server for SAP Applications 15 SP2All versions2.4.51-150200.3.76.1
apache2 SUSE:Linux Enterprise Server for SAP Applications 15 SP3All versions2.4.51-150200.3.76.1
apache2 SUSE:Linux Enterprise Server for SAP Applications 15 SP4All versions2.4.51-150400.6.40.1
apache2 SUSE:Linux Enterprise Server for SAP Applications 15 SP4All versions2.4.51-150400.6.43.1
apache2 SUSE:Manager Proxy 4.3All versions2.4.51-150400.6.40.1
apache2 SUSE:Manager Proxy 4.3All versions2.4.51-150400.6.43.1
apache2 SUSE:Manager Server 4.3All versions2.4.51-150400.6.40.1
apache2 SUSE:Manager Server 4.3All versions2.4.51-150400.6.43.1
apache2 openSUSE:Leap 15.5All versions2.4.51-150400.6.40.1
apache2 openSUSE:Leap 15.5All versions2.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.

All Apache Http Server vulnerabilities

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.

Is CVE-2023-45802 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free