SecPod

Learn Search

Search across all Learn content

← Back to Security Research
Critical Apache HTTP/2 RCE Flaw Lets Unauthenticated Attackers Take Full Control of the Server

Critical Apache HTTP/2 RCE Flaw Lets Unauthenticated Attackers Take Full Control of the Server

CVE-2026-119618 is a critical race-condition vulnerability in Apache HTTP Server’s mod_http2 that can lead to unauthenticated remote code execution when HTTP/2 is enabled. Versions 2.4.55 through 2.4.70 are affected and fixed in 2.4.71. Only hosts that negotiate h2 or h2c are exposed. This article covers how the flaw works, distribution fixes, temporary Protocols mitigation, and related issues in the same release.

Nov 12, 2026By Bapanapalli Prem Sai Siddhik
vulnerability research

Summary

CVE-2026-119618 is a critical memory-corruption vulnerability in Apache HTTP Server's mod_http2 module. Apache identifies a synchronization flaw in assign_headers() that can lead to remote code execution (RCE). Upstream versions 2.4.55 through 2.4.70 are affected. The Apache security advisory identifies version 2.4.71, released on 11 November 2026, as the fixed release.

Prioritize reachable HTTP/2-enabled deployments. Install the upstream fix or your distribution's security update. If patching must wait, temporarily restrict the affected Apache listeners to HTTP/1.1 and verify the change across every virtual host.

Vulnerability Details

ItemDetails
IdentifierCVE-2026-119618
ComponentApache HTTP Server, mod_http2
Apache severityCritical
WeaknessCWE-362: Concurrent Execution using Shared Resource with Improper Synchronization
Upstream affected versionsApache HTTP Server 2.4.55 through 2.4.70
Standalone mod_h2 releases on GitHub: 2.0.8 through 2.0.42
Upstream fixed versionApache HTTP Server 2.4.71
Required exposureReachable HTTP/2 processing through the affected module

Technical Information

Critical Unauthenticated Remote Code Execution HTTP/2

HTTP/2 multiplexes requests as separate streams over one connection. As described in Apache's module documentation, worker threads process requests while the connection thread manages protocol activity. Access to shared memory must be coordinated when these threads run concurrently.

Red Hat's technical assessment describes a worker writing into connection-owned memory through a shared, lock-free allocator. Concurrent access can corrupt the heap and permit unauthenticated code execution.

What the Patch Changes

The upstream fix, commit 824beab, changes the destination of a header-table update in modules/http2/h2_request.c. When the function supplies a zero content length after the request body has ended, it now updates r->headers_in instead of req->headers.

The patch indicates that the correction keeps this update in the request's header table rather than modifying the shared source table. This addresses the memory-ownership problem despite changing only one line.

Related Issues and Disclosure Timeline

  1. Anthropic's OSS Scanner reports ANT-2026-MAPKT6MZ.
  2. Google Cloud researchers Anthony Weems and Simon Scannell report the issue.
  3. Apache releases the fix in HTTP Server 2.4.71.

The same release addresses CVE-2026-106023, a mod_md null-pointer dereference rated Important, and CVE-2026-109163, a one-byte mod_vhost_alias stack overwrite rated Low.

Impact

  • An unauthenticated client may be able to run code in the affected server process.
  • Files, application credentials, and backend services accessible to that process may be exposed or modified.
  • Memory corruption may crash workers and interrupt requests.

The impact depends on the permissions and resources available to the compromised server process. On Unix systems, Apache's User directive controls the account used to handle requests. Root access is not an established outcome of this vulnerability alone.

Affected Products and Versions

  • Apache HTTP Server 2.4.55 through 2.4.70
  • Standalone mod_h2 releases on GitHub, versions 2.0.8 through 2.0.42

Check three conditions together: an affected or unpatched module, HTTP/2 enabled on a listener or virtual host, and a network path that lets a client reach that listener.

Loading mod_http2 alone does not establish exposure. Apache requires HTTP/2 to be enabled with the Protocols directive. Both h2 (HTTP/2 over TLS) and h2c (cleartext HTTP/2) matter. These are examples of configurations to review, not mitigation settings:

# HTTP/2 over TLS
Protocols h2 http/1.1

# HTTP/2 over TLS and cleartext
Protocols h2 h2c http/1.1

The directive can apply globally or within a virtual host. Review included configuration files and overrides as well as the main configuration.

For proxy and CDN deployments, assess each connection separately. Browser-to-edge HTTP/2 does not establish that the edge-to-Apache connection uses HTTP/2. Conversely, an origin reachable directly or over an internal HTTP/2 path still requires assessment. A public endpoint check describes only the listener that answered it.

MITRE ATT&CK Mapping

Technique ID Technique Name Tactic ID Tactic
T1190 Exploit Public-Facing Application TA0001 Initial Access

Mitigation and Recommendations

Fixed Releases

Product or releaseStatusRemediation guidance
Apache upstreamFixed in 2.4.71Upgrade to 2.4.71 or a later supported release.
Standalone mod_h2 releases on GitHub2.0.8-2.0.42 affectedApache's advisory does not name a fixed standalone version. Confirm a supported fixed build. If none is available, disable HTTP/2 while migrating.
RHEL 9 and 10Fixes available, rated ImportantUse the applicable stream-specific erratum. Red Hat explains that separate per-stream allocators increase exploit complexity.
Debian sid (unstable)Fixed in apache2 2.4.71-1Update from the sid repository. The Debian tracker confirms this fixed source-package version.
Debian trixie (13)Fixed in apache2 2.4.71-1~deb13u1 through trixie-securityInstall the security update for trixie. The main archive's 2.4.68-1~deb13u1 remains listed as vulnerable in the Debian tracker.
Debian bookworm (12)Main archive 2.4.68-1~deb12u1 and security archive 2.4.67-1~deb12u3 listed as vulnerableNo fixed bookworm version is listed in the linked tracker. Monitor the Debian tracker and disable HTTP/2 on affected deployments while awaiting an update.
Debian forky (testing)apache2 2.4.69-1 listed as vulnerableNo fixed forky version is listed in the Debian tracker. Check for an updated package and temporarily disable HTTP/2 where required.

Confirm the full installed package version against the supplier's advisory. Distribution fixes may be backported without changing the upstream version shown by httpd -v.

Check the Installed Module and HTTP/2 Configuration

Use the Apache control command associated with the running service. On some distributions, it is named apache2ctl rather than apachectl.

apachectl -v
apachectl -M
apachectl -S

These commands report the server version, loaded modules, and virtual hosts. Look for http2_module, then inspect Protocols settings in the active configuration and included virtual hosts for h2 or h2c. A loaded module alone does not confirm HTTP/2 exposure. These checks also do not establish whether a vendor security patch is installed.

To check TLS protocol negotiation, send a normal request using an HTTP/2-capable curl build:

curl --http2 --silent --show-error --output /dev/null --write-out '%{http_version}\n' https://www.example.com/

Replace the hostname with the endpoint being assessed. A result of 2 confirms HTTP/2 on that connection, not vulnerability. Check origin servers separately when a proxy or CDN answers the request. This command does not test cleartext h2c. The command options are documented by Apache and curl.

Install the Fix and Replace Running Workers

  1. Select the correct update. Use Apache 2.4.71 or the vendor-fixed packages for your supported release stream.
  2. Validate compatibility. Check application routing, TLS, authentication, proxy behavior, and HTTP/2-dependent clients. Run apachectl -t to check configuration syntax before restarting.
  3. Deploy across the fleet. Update every instance, including container images and deployment templates that could recreate an affected server.
  4. Restart using the service's supported procedure. Confirm that old processes using the vulnerable module have exited. Replacing a package on disk does not replace code already loaded in memory.
  5. Verify and record the result. Confirm package fix status, service health, expected protocol negotiation, and coverage of all nodes.

Apache documents that a graceful restart preserves existing connections. Account for that behavior when deciding whether vulnerable workers have fully retired. The apachectl documentation explains the differences between restart procedures.

If Patching Must Wait, Disable HTTP/2

If an update cannot be installed immediately, configure affected listeners to offer only HTTP/1.1. This recommendation follows the documented HTTP/2 exposure requirement. Apache does not publish a separate workaround in its CVE entry.

Protocols http/1.1

Remove h2 and h2c from every applicable server and virtual-host setting, validate with apachectl -t, and apply the configuration through the supported service procedure. Ensure existing HTTP/2 connections and affected workers have ended, then repeat endpoint checks. Confirm that clients requiring HTTP/2 remain operational or have an alternative path.

Track this as a temporary exception with an owner and a patch deadline. Network restrictions can reduce reachability, but they do not correct the memory-safety flaw.

Instantly Fix Risks in Endpoints & Cloud with Saner

Saner is a continuous and integrated vulnerability & exposure management platform that instantly fixes risks in endpoints and cloud.

Featured Posts

Open Microsoft’s November 2026 Patch Tuesday: 1,093 Vulnerabilities, 63 Critical Fixes, and an Outlook Threat
Microsoft’s November 2026 Patch Tuesday: 1,093 Vulnerabilities, 63 Critical Fixes, and an Outlook Threat

CVE Research

Microsoft’s November 2026 Patch Tuesday: 1,093 Vulnerabilities, 63 Critical Fixes, and an Outlook Threat

Microsoft’s November 2026 Patch Tuesday addresses 1,093 security vulnerabilities, including 63 Critical flaws and an actively exploited Outlook zero-day. The updates tackle serious remote code execution, privilege escalation, and information disclosure vulnerabilities across Windows, Exchange Server, SharePoint, Azure, and other Microsoft products. Explore the most critical flaws, affected products, and essential remediation steps to secure your systems.

Nov 11, 2026

Open Beyond GitLab's Critical RCE: What CVE-2026-97229 Reveals About Exploitation, Patch Gaps, and Security Response
vulnerability researchBeyond GitLab's Critical RCE: What CVE-2026-97229 Reveals About Exploitation, Patch Gaps, and Security Response

CVE Research

Beyond GitLab's Critical RCE: What CVE-2026-97229 Reveals About Exploitation, Patch Gaps, and Security Response

Nov 6, 2026

Open Gorbag Targets Ukrainian Organizations with BeautyStealer and WinRAR Exploitation
malware researchGorbag Targets Ukrainian Organizations with BeautyStealer and WinRAR Exploitation

CVE Research

Gorbag Targets Ukrainian Organizations with BeautyStealer and WinRAR Exploitation

Gorbag uses spearphishing and weaponized WinRAR archives to deploy BeautyStealer against Ukrainian organizations. The malware steals browser credentials, VPN configuration files, and targeted documents before exfiltrating the data and deleting itself.

Nov 5, 2026

Open Synology NAS Under Siege: C3RB3R Ransomware Strikes Unpatched Devices
vulnerability researchSynology NAS Under Siege: C3RB3R Ransomware Strikes Unpatched Devices

CVE Research

Synology NAS Under Siege: C3RB3R Ransomware Strikes Unpatched Devices

Synology has warned customers about an ongoing wave of ransomware attacks targeting network-attached storage (NAS) devices running outdated versions of DiskStation Manager (DSM). The attacks have been associated with C3RB3R ransomware, a threat capable of encrypting stored files and demanding payment for their recovery.

Nov 4, 2026