NULL pointer dereference in Apache HTTP Server

CVE-2021-31618

Apache HTTP Server protocol handler for the HTTP/2 protocol checks received request headers against the size limitations as configured for the server and used for the HTTP/1 protocol as well. On violation of these restrictions and HTTP response is sent to the client with a status code indicating why the request was rejected. This rejection response was not fully initialised in the HTTP/2 protocol handler if the offending header was the very first one received or appeared in a a footer. This led to a NULL pointer dereference on initialised memory, crashing reliably the child process. Since such a triggering HTTP/2 request is easy to craft and submit, this can be exploited to DoS the server. This issue affected mod_http2 1.15.17 and Apache HTTP Server version 2.4.47 only. Apache HTTP Server 2.4.47 was never released.

EPSS: 0.515 (98.9th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 7.5 (High). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H.

Affected products

Weakness classification (CWE)

Public proof-of-concept exploits

References

Frequently asked questions

What is CVE-2021-31618?
CVE-2021-31618 is a high-severity vulnerability in Apache HTTP Server, classified under NULL Pointer Dereference. CVSS score: 7.5/10. Published 2021-06-15.
How severe is CVE-2021-31618?
High severity. CVSS v3 base score is 7.5 out of 10.
Is CVE-2021-31618 known to be exploited?
8 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.