A new vulnerability was disclosed today, race condition in mod_http2 affects Apache HTTP Server 2.4.55 through 2.4.70, enabling heap corruption and potential RCE. The new flaw (CVE-2026-119618) is affecting a wide range of modern deployments—specifically Apache HTTP Server versions 2.4.55 through 2.4.70—this flaw puts any unpatched Apache server with HTTP/2 enabled at immediate risk.
At a Glance: CVE-2026-119618
| Attribute | Details |
| CVE ID | CVE-2026-119618 |
| Vendor Severity | Critical (Apache Software Foundation) |
| Weakness Type | CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization (Race Condition) |
| Vulnerable Component | mod_http2 (assign_headers() function) |
| Impact | Heap Corruption / Remote Code Execution (RCE) |
| Affected Versions | Apache HTTP Server 2.4.55 – 2.4.70Standalone GitHub mod_h22.0.8 – 2.0.42 |
| Patched Versions | Apache HTTP Server 2.4.71 / mod_h2 2.0.43 |
| Discovered By | Anthropic’s OSS Scanner (ANT-2026-MAPKT6MZ) & Anthony Weems and Simon Scannell (Google Cloud Vulnerability Research) |
Technical Breakdown: Inside the assign_headers() Race Condition
At its core, CVE-2026-119618 is a classic concurrency bug (CWE-362) inside the HTTP/2 protocol handler.
Unlike HTTP/1.1, which generally processes requests sequentially per connection, HTTP/2 is designed for high-speed multiplexing—allowing multiple concurrent streams of requests and responses over a single TCP connection. Managing these parallel streams safely requires strict thread synchronization whenever shared memory structures are accessed.
The flaw resides in the assign_headers() function within mod_http2. Due to improper synchronization of a shared resource during concurrent request processing, a remote attacker can send specially crafted, simultaneous HTTP/2 requests that force multiple execution threads to access and modify shared state at the same time.
This race condition corrupts the server’s heap memory. While uncontrolled heap corruption often crashes a worker process (resulting in a Denial of Service), skilled attackers can groom the heap layout to overwrite critical memory pointers and achieve arbitrary Remote Code Execution (RCE) under the privileges of the web server user (typically www-data, apache, or daemon).
Notable AI-Assisted Discovery
CVE-2026-119618 is also notable for its discovery chain. The flaw was flagged by Anthropic’s OSS Scanner (tracked internally as ANT-2026-MAPKT6MZ) and independently found and validated by security researchers Anthony Weems and Simon Scannell of Google Cloud Vulnerability Research. Reported to the Apache security team on October 26, 2026, the maintainers turned around a clean patch in just over two weeks with the release of version 2.4.71.
Bonus Fixes in Apache 2.4.71
While CVE-2026-119618 is the headline critical flaw, upgrading to Apache HTTP Server 2.4.71 also resolves two additional security vulnerabilities disclosed in the same advisory:
- CVE-2026-106023 (Important —
mod_md): A NULL pointer dereference in the ACME certificate auto-management module (mod_md) affects versions2.4.30through2.4.70, allowing remote attackers to crash server child processes and cause a Denial of Service. - CVE-2026-109163 (Low —
mod_vhost_alias): A single-byte stack-based buffer overflow when handling request data affects versions2.4.69and2.4.70, potentially leading to a Denial of Service.
How to Check If Your Server Is Vulnerable
Your server is vulnerable if it meets both of the following criteria:
- It is running Apache HTTP Server between 2.4.55 and 2.4.70 (or standalone
mod_h2between 2.0.8 and 2.0.42). - The
http2_module(mod_http2) is loaded and active.
Run the following command in your terminal to check your version and active modules simultaneously:
Bash
# On Debian / Ubuntu
apache2ctl -v && apache2ctl -M | grep http2
# On RHEL / Rocky / AlmaLinux / CentOS / Fedora
httpd -v && httpd -M | grep http2
If the version falls within 2.4.55–2.4.70 and http2_module (shared) appears in the output, your server is exposed and requires immediate action.
Remediation & Mitigation Guide
Option 1: Upgrade to Apache 2.4.71 (Recommended)
The permanent fix is to upgrade to Apache HTTP Server 2.4.71 (or mod_h2 2.0.43 if you compile the module directly from GitHub).
If you rely on enterprise Linux distributions (such as Ubuntu LTS, Debian Stable, or RHEL), note that distribution maintainers routinely backport security patches into older version numbers rather than bumping the upstream feature version. Run your standard package updates and check your vendor’s CVE tracker for CVE-2026-119618:
Bash
# Debian / Ubuntu
sudo apt update && sudo apt --only-upgrade install apache2
# RHEL / Rocky / AlmaLinux / Fedora
sudo dnf update httpd
Option 2: Temporary Workaround — Disable mod_http2
If you cannot immediately deploy the 2.4.71 update due to change-freeze windows or dependency testing, you can completely neutralize the vulnerability by disabling mod_http2. Your server will gracefully fall back to serving traffic over HTTP/1.1.
On Debian / Ubuntu systems:
Bash
sudo a2dismod http2 proxy_http2
sudo systemctl restart apache2
On RHEL / Rocky / AlmaLinux / CentOS systems:
- Open
/etc/httpd/conf.modules.d/10-h2.conf(and10-proxy_h2.confif present). - Comment out the
LoadModule http2_module modules/mod_http2.soline by placing a#at the beginning. - Remove
h2andh2cfrom anyProtocolsdirectives in your virtual host files. - Restart the Apache service:
Bashsudo systemctl restart httpd
Key Takeaways for Security Teams
Race conditions in high-concurrency modules like mod_http2 are prime targets for automated exploitation because HTTP/2 is enabled by default on most modern, TLS-terminated web servers. Audit your external-facing assets today, disable mod_http2 where patching must wait, and roll out Apache 2.4.71 across your fleet as soon as possible.