Patch available Security news
Apache HTTP Server 2.4.71 fixes a critical mod_http2 flaw that can lead to remote code execution
The Apache HTTP Server project released version 2.4.71 on 11 November 2026. It fixes three vulnerabilities, one of them critical: CVE-2026-119618 in mod_http2, the module that handles HTTP/2. A race condition while processing headers can corrupt the heap and, according to Apache, lead to remote code execution. Versions 2.4.55 through 2.4.70 with HTTP/2 enabled are affected. There are no reports of exploitation so far. Here is how to check whether your server is exposed and what to do until your distribution ships a fixed package.
Key points
- Who is affected: admins of Apache httpd 2.4.55 through 2.4.70 servers that load mod_http2 and allow h2 or h2c in the Protocols directive.
- CVE-2026-119618 (Apache: critical) – a race condition (CWE-362) in mod_http2's assign_headers() function causes heap corruption that, according to Apache, can lead to remote code execution. Fixed in 2.4.71, released on 11 Nov 2026.
- The same release also fixes CVE-2026-106023 (important, child process crash in mod_md) and CVE-2026-109163 (low, mod_vhost_alias).
- The flaw was reported by Anthropic's open source scanner and, independently, by Google Cloud researchers. NVD has not assigned a CVSS score yet, and Apache has published no indicators or workaround. Debian only has a fix in sid so far.
Vulnerabilities: CVE-2026-119618, CVE-2026-106023, CVE-2026-109163
What happened
The Apache HTTP Server project (httpd) released version 2.4.71 on 11 November 2026. According to the project's security page, it fixes three vulnerabilities: one critical, one important and one low. The most serious is CVE-2026-119618 in mod_http2, the module that implements HTTP/2 in Apache. Apache describes it as "heap corruption and RCE in assign_headers" – a bug that could let an attacker run their own code on the server.
Eric Covener of the Apache project posted the announcement to the oss-security mailing list the same day. The NVD record went live on the afternoon of 11 November, with no CVSS score yet. Apache rates the flaw critical on its own severity scale.
Two teams reported the bug independently: Anthropic's open source scanner (26 October 2026) and Anthony Weems and Simon Scannell of Google Cloud Vulnerability Research (3 November 2026). The fix shipped about two weeks after the first report.
Technical details
The bug lives in the assign_headers() function of mod_http2. Apache classifies it as a race condition – "concurrent execution using shared resource with improper synchronization" (CWE-362). HTTP/2 multiplexes many requests over a single connection, and Apache processes them on multiple threads. When two threads touch the same data without proper locking, heap memory can get corrupted. According to Apache, that corruption can lead to remote code execution with the privileges of the httpd worker process.
Neither Apache nor NVD has published further details, exploitation conditions or proof-of-concept code. The description does not mention any need to authenticate – an attacker would apparently only need to open an HTTP/2 connection to the server. Reliably exploiting a race condition tends to be harder than a plain overflow, but don't count on that.
Version 2.4.71 also fixes two other issues:
| CVE | Severity (Apache) | Module | Affected versions |
|---|---|---|---|
| CVE-2026-119618 | critical | mod_http2 – heap corruption, RCE | 2.4.55–2.4.70 |
| CVE-2026-106023 | important | mod_md – NULL pointer dereference, child crash | 2.4.30–2.4.70 |
| CVE-2026-109163 | low | mod_vhost_alias – 1-byte stack overwrite | 2.4.69–2.4.70 |
Who is affected
- Apache HTTP Server 2.4.55 through 2.4.70 with the mod_http2 module loaded and HTTP/2 allowed in the
Protocolsdirective (h2for HTTPS,h2cfor cleartext HTTP). - The standalone mod_h2 module from GitHub, versions 2.0.8 through 2.0.42. Apache's security page does not say which mod_h2 release contains the fix.
According to the Apache documentation, Protocols defaults to http/1.1 only, so HTTP/2 has to be switched on. Distribution configs, control panels and hosting providers often do exactly that. To check your server (use apache2ctl on Debian and Ubuntu, apachectl or httpd elsewhere):
apache2ctl -v # server version
apache2ctl -M | grep -i http2 # is http2_module loaded?
grep -Rni "^\s*Protocols" /etc/apache2/ /etc/httpd/ 2>/dev/null
Your server is exposed if it runs 2.4.55 to 2.4.70, loads http2_module and has Protocols with h2 or h2c somewhere in its config. For distribution packages, go by the vendor's security advisory, not the version number alone. As of 12 November 2026 the Debian Security Tracker lists only sid (2.4.71-1) as fixed; bookworm, trixie and forky are still marked vulnerable.
How to tell if you were compromised
Apache has not published indicators of compromise and does not mention exploitation. A few tips from our own practice:
- Watch
error_logfor unusual worker crashes (messages likeAH00052: child pid … exit signal Segmentation fault), especially repeated ones that coincide with HTTP/2 traffic. Heap corruption often shows up as a crash first. - Look for new processes running as the web server user (
www-data,apache), unknown files in directories it can write to, and new outbound connections from the server. - Pull suspicious IP addresses and domains out of your logs with our IOC extractor – it runs entirely in your browser.
What to do
- Upgrade to Apache HTTP Server 2.4.71, or install your distribution's fixed package as soon as it is available. Restart the server afterwards (
systemctl restart apache2orhttpd) and confirm the version. - If no fix is available yet, consider disabling HTTP/2 temporarily. Change
Protocols h2 http/1.1toProtocols http/1.1(droph2ctoo), or on Debian and Ubuntu disable the module witha2dismod http2. Then runapache2ctl configtestand restart. The site keeps working over HTTP/1.1. This is our own mitigation, based on the bug being in mod_http2 – Apache does not list a workaround. - Check proxies and load balancers. If nginx, HAProxy or a CDN sits in front of Apache and talks HTTP/2 (h2 or h2c) to it, Apache is still exposed. Also confirm that Apache cannot be reached directly from the internet.
- While you're upgrading, you also get the fix for CVE-2026-106023 in mod_md (automatic certificates from Let's Encrypt and other ACME authorities), which can crash a child process.
- If you find signs of compromise, take the server offline, preserve the logs and report the incident to your national CERT (in the US, CISA; in the UK, the NCSC).
Timeline
Updates
- 12 November 2026 – first version of this article.
FAQ
Is HTTP/2 enabled in Apache by default?
Not in Apache itself – according to the documentation, the Protocols directive defaults to http/1.1 only. HTTP/2 is switched on with a line such as Protocols h2 http/1.1, and mod_http2 has to be loaded. Distribution configs, control panels and hosting providers often enable it, though, so check with the commands below.
Is the flaw being exploited?
Neither Apache nor NVD mention exploitation, and the flaw is not in the CISA KEV catalog. Still, the description talks about remote code execution in a module that handles internet-facing traffic, and two teams found it independently. Don't put off the update.
I run nginx or a CDN in front of Apache. Am I safe?
It depends on how they talk to each other. If the proxy speaks HTTP/1.1 to Apache, internet requests never reach mod_http2. If the proxy forwards HTTP/2 (h2 or h2c) to Apache, or Apache is also reachable directly from the internet, it may be vulnerable. That is our reading of the flaw description, not a statement from Apache.
My distribution doesn't have 2.4.71 yet. What should I do?
Distributions usually backport fixes into a package with an older version number, so follow their security advisory rather than looking for 2.4.71. In the meantime you can temporarily turn off HTTP/2 – visitors will connect over HTTP/1.1 and the site keeps working, just without the benefits of HTTP/2.
Sources
- Apache HTTP Server – Apache HTTP Server 2.4 vulnerabilities (Fixed in 2.4.71, 11 Nov 2026)
- NVD – CVE-2026-119618 (mod_http2, CWE-362)
- oss-security – Apache HTTP Server: mod_http2 heap corruption and RCE in assign_headers (11 Nov 2026)
- Debian Security Tracker – CVE-2026-119618
- Apache HTTP Server documentation – Protocols directive
Spotted a mistake? Let us know and we will correct it openly.