Skip to main content
COSMICBYTEZLABS
NewsSecurityHOWTOsToolsStudyTraining
ProjectsChecklistsAI RankingsNewsletterStatusTagsAbout
Subscribe

Press Enter to search or Esc to close

News
Security
HOWTOs
Tools
Study
Training
Projects
Checklists
AI Rankings
Newsletter
Status
Tags
About
RSS Feed
Reading List
Subscribe

Stay in the Loop

Get the latest security alerts, tutorials, and tech insights delivered to your inbox.

Subscribe NowFree forever. No spam.
COSMICBYTEZLABS

Your trusted source for IT intelligence, cybersecurity insights, and hands-on technical guides.

947+ Articles
124+ Guides

CONTENT

  • Latest News
  • Security Alerts
  • HOWTOs
  • Projects
  • Exam Prep

RESOURCES

  • Search
  • Browse Tags
  • Newsletter Archive
  • Reading List
  • RSS Feed

COMPANY

  • About Us
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CosmicBytez Labs. All rights reserved.

System Status: Operational
  1. Home
  2. Security
  3. CVE-2026-28780: Apache HTTP Server mod_proxy_ajp Heap-Based Buffer Overflow
CVE-2026-28780: Apache HTTP Server mod_proxy_ajp Heap-Based Buffer Overflow

Critical Security Alert

This vulnerability is actively being exploited. Immediate action is recommended.

SECURITYCRITICALCVE-2026-28780

CVE-2026-28780: Apache HTTP Server mod_proxy_ajp Heap-Based Buffer Overflow

A CVSS 9.8 heap-based buffer overflow vulnerability in Apache HTTP Server's mod_proxy_ajp module allows a malicious AJP backend server to write attacker-controlled bytes beyond a heap buffer, potentially leading to remote code execution.

Dylan H.

Security Team

May 6, 2026
6 min read

Affected Products

  • Apache HTTP Server (mod_proxy_ajp)

Executive Summary

A heap-based buffer overflow vulnerability (CVE-2026-28780, CVSS 9.8 Critical) has been disclosed in Apache HTTP Server's mod_proxy_ajp module. When mod_proxy_ajp is configured to proxy requests to an AJP backend server, a malicious AJP server can respond with a crafted AJP message that causes mod_proxy_ajp to write 4 attacker-controlled bytes past the end of a heap-allocated buffer. This out-of-heap-bounds write condition can lead to arbitrary code execution on the Apache HTTP Server host.

CVSS Score: 9.8 (Critical)


Vulnerability Overview

AttributeValue
CVE IDCVE-2026-28780
CVSS Score9.8 (Critical)
TypeHeap-Based Buffer Overflow (CWE-122)
Affected Modulemod_proxy_ajp
Attack VectorNetwork
Attack ComplexityLow
Privileges RequiredNone
User InteractionNone
Affected ComponentApache HTTP Server
Published2026-05-05
SourceNVD

Affected Products

ProductComponentStatus
Apache HTTP Servermod_proxy_ajpVulnerable

The mod_proxy_ajp module enables Apache HTTP Server to act as a reverse proxy, forwarding HTTP requests to backend application servers using the AJP (Apache JServ Protocol) — commonly used with Apache Tomcat and other Java application servers. This configuration is extremely prevalent in enterprise Java web application deployments.


Technical Details

Vulnerability Root Cause

The vulnerability occurs in mod_proxy_ajp's response processing path. When mod_proxy_ajp is acting as a reverse proxy and connects to a backend AJP server, it trusts the AJP messages returned by that server. A malicious AJP server can craft a response message containing an oversized or specially formatted field that causes the module to perform a heap write 4 bytes past the end of a heap buffer.

While 4 bytes may seem minimal, heap overflow primitives of this nature are frequently exploitable. Attackers can leverage heap grooming techniques to position a target object (such as a function pointer, vtable pointer, or heap metadata) immediately after the vulnerable buffer, then overwrite it with the controlled bytes to redirect execution.

Attack Preconditions

For this vulnerability to be exploitable, the following conditions must be met:

  1. mod_proxy_ajp must be enabled and configured in the Apache HTTP Server instance
  2. The ProxyPass directive must be configured to forward requests to an AJP backend
  3. The attacker must be able to act as or influence the AJP backend server

The third condition can be satisfied in several scenarios:

  • Attacker-controlled backend: In deployments where the AJP backend is exposed or the attacker has compromised the backend application server
  • AJP port exposure: If the Tomcat/backend AJP port (default: 8009) is reachable and not protected, an attacker can impersonate the backend server
  • Misconfigured AJP connectors: Legacy deployments may have AJP connectors listening without authentication (AJP has historically had authentication issues, including the Ghostcat vulnerability CVE-2020-1938)

Attack Chain

1. Attacker identifies an Apache HTTP Server instance with
   mod_proxy_ajp configured to proxy to a backend AJP server
 
2. Attacker positions themselves as the AJP backend (by compromising
   the backend, intercepting AJP traffic, or exploiting an exposed
   AJP port on the backend)
 
3. Attacker crafts a malicious AJP response message that triggers
   the heap overflow in mod_proxy_ajp
 
4. mod_proxy_ajp writes 4 attacker-controlled bytes past the end
   of the heap buffer
 
5. If the overflow overwrites an adjacent heap object containing
   a function pointer or vtable, attacker redirects execution
 
6. Arbitrary code executes with the privileges of the Apache
   HTTP Server process (typically www-data or apache)

CVSS 9.8 Score Analysis

The near-maximum score reflects:

  • Network-accessible exploitation path (no physical access required)
  • Low attack complexity — the overflow condition is reliably triggered
  • No authentication required — the malicious AJP server needs no credentials to exploit the vulnerability
  • No user interaction required
  • High impact across all three categories (Confidentiality, Integrity, Availability)

Impact Assessment

Impact AreaDescription
Remote Code ExecutionArbitrary code execution with Apache server process privileges
Web Application Data AccessAll data served or processed by the Apache instance accessible
Credential TheftDatabase credentials in environment variables or config files accessible
Lateral MovementCompromised web server can be used as pivot into internal network
Service DisruptionHeap corruption can cause Apache process crash (DoS)
TLS Key TheftPrivate TLS keys stored on the server may be accessible

Recommendations

Immediate Actions

  1. Update Apache HTTP Server to the patched version addressing CVE-2026-28780 as soon as it is available — monitor the Apache Security Advisories page
  2. Disable mod_proxy_ajp if not needed — if the AJP proxying functionality is not required, disable the module:
    a2dismod proxy_ajp   # Debian/Ubuntu
    # Remove or comment LoadModule proxy_ajp_module in httpd.conf
  3. Secure AJP connectors on backend servers — ensure Tomcat or other AJP backends have the AJP connector disabled or protected if not strictly required
  4. Firewall AJP port (8009) — block external access to AJP ports on all backend application servers

Tomcat AJP Hardening

If AJP is required, harden the Tomcat AJP connector configuration:

<!-- In Tomcat server.xml — require secret for AJP connections -->
<Connector protocol="AJP/1.3"
           address="127.0.0.1"
           port="8009"
           redirectPort="8443"
           secret="YOUR_STRONG_SECRET_HERE"
           requiredSecret="YOUR_STRONG_SECRET_HERE" />

The secret/requiredSecret attributes, introduced to address Ghostcat (CVE-2020-1938), require the AJP proxy to authenticate. This prevents an unauthenticated attacker from impersonating the AJP proxy.

Detection

- Monitor Apache access logs for unexpected 5xx errors or
  crashes from requests proxied via mod_proxy_ajp
 
- Review backend AJP connector logs for connections from
  unexpected source IP addresses
 
- Alert on unexpected Apache process exits (indicative of
  heap corruption crash during exploitation attempt)
 
- Deploy WAF rules to inspect responses returned to
  mod_proxy_ajp for anomalously large AJP message fields

Detection Indicators

IndicatorDescription
Apache process crash / segfaultHeap corruption during exploitation attempt
AJP connections from unexpected sources to backendPossible attacker impersonating Apache to reach backend AJP port
Unexpected outbound connections from Apache processPossible post-exploitation C2 activity
Anomalous AJP message sizes in network trafficCrafted oversized AJP responses triggering the overflow

Post-Remediation Checklist

  1. Confirm patch is applied — verify Apache version reflects the patched release
  2. Audit mod_proxy_ajp usage — if the module was disabled, confirm it remains disabled after service restarts
  3. Review backend AJP exposure — ensure Tomcat AJP connectors on all backend servers are hardened or disabled
  4. Rotate application credentials — if exploitation cannot be ruled out, rotate database passwords, API keys, and any credentials stored in server-accessible configuration files
  5. Review Apache error logs — look for unusual error patterns around the time of vulnerability disclosure that may indicate prior exploitation attempts

References

  • NIST NVD — CVE-2026-28780
  • Apache HTTP Server Security Advisories
  • Apache mod_proxy_ajp Documentation
  • CWE-122: Heap-Based Buffer Overflow
  • CVE-2020-1938 (Ghostcat) — Prior AJP Vulnerability Context
#Apache#CVE-2026-28780#Buffer Overflow#RCE#mod_proxy_ajp#CVSS 9.8#NVD#Web Server

Related Articles

Tenda A15 UploadCfg Stack Buffer Overflow (CVE-2026-4567)

A CVSS 9.8 Critical stack-based buffer overflow in Tenda A15 firmware 15.13.07.13 allows unauthenticated remote attackers to execute arbitrary code by...

5 min read

D-Link DHP-1320 SOAP Handler Stack Buffer Overflow (CVE-2026-4529)

A CVSS 8.8 stack-based buffer overflow in D-Link DHP-1320 firmware 1.00WWB04 allows unauthenticated remote attackers to execute arbitrary code via a...

5 min read

CVE-2026-23918: Apache HTTP Server Double Free / RCE via HTTP/2

A high-severity double-free memory corruption vulnerability in Apache HTTP Server 2.4.66 allows remote code execution via the HTTP/2 module. Users must upgrade to 2.4.67 immediately.

5 min read
Back to all Security Alerts