← Back to Feed CACHED · 2026-09-17 09:16:50 · CACHE_KEY tenable:241984
tenable:241984 · CWE-401 · Disclosed 2025-07-10

Apache 2.4.x < 2.4.64 Multiple Vulnerabilities

ASSESSED — NOISGATE
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

Tenable stapled eight paper cuts together and called it a severed artery

Apache HTTP Server 2.4.64 (released July 10, 2025) patches eight CVEs spanning versions 2.4.0 through 2.4.63. The bugs include: CVE-2025-53020 — an unauthenticated HTTP/2 memory-exhaustion DoS (CWE-401, NVD 7.5 HIGH); CVE-2024-42516 — HTTP response splitting via Content-Type manipulation (moderate, a re-fix of CVE-2023-38709); CVE-2025-23048 — TLS 1.3 session-resumption access-control bypass in multi-vhost mod_ssl setups; CVE-2025-49812 — MitM session hijack on the rare SSLEngine optional TLS-upgrade path; CVE-2024-43394 — Windows-only SSRF that leaks NTLM hashes via mod_rewrite; CVE-2025-49630 — mod_proxy_http2 assertion DoS requiring ProxyPreserveHost on; CVE-2024-43204 — SSRF needing an unlikely mod_headers Content-Type rewrite; and CVE-2024-47252 — log-injection via unescaped mod_ssl variables. None of these yields remote code execution.

Tenable's plugin rolls all eight into a single CVSS 9.1 Critical rating — a scanner artifact of aggregation, not a reflection of any single exploitable chain. Apache itself rates every one of these Moderate or Low. Tenable's own VPR (Vulnerability Priority Rating) quietly agrees: 5.0 / Medium. The vendor severity label of Critical is misleading for triage; the real exposure is an unauthenticated remote DoS against HTTP/2-enabled instances and narrow-condition response-splitting, which lands this squarely in HIGH territory — serious enough to prioritize, but not drop-everything Critical.

"Tenable inflates 8 moderate Apache bugs to Critical; real risk is HIGH from unauthenticated DoS."
02 · The Attack Path

5 steps from start to impact.

STEP 01

Identify HTTP/2-enabled Apache target

The attacker scans for internet-facing Apache httpd instances advertising HTTP/2 support via ALPN negotiation. Tools like httpx, Shodan dorks (server:Apache http2), or simple curl --http2 probes identify candidates. Apache httpd is one of the most widely deployed web servers globally — Netcraft and W3Techs consistently place it on 25-30% of active sites.
Conditions required:
  • Target runs Apache httpd 2.4.17–2.4.63
  • HTTP/2 is enabled (default in many distro packages since 2.4.17+)
Where this breaks in practice:
  • HTTP/2 is common but not universal; some reverse-proxy architectures terminate HTTP/2 at a CDN or load balancer before it reaches Apache
Detection/coverage: Shodan/Censys fingerprinting; version detection via Server header (often stripped by hardened configs)
STEP 02

Trigger CVE-2025-53020 memory exhaustion

The attacker opens HTTP/2 connections and exploits the late-release-of-memory flaw (CWE-401) to cause Apache worker processes to accumulate memory without timely release. Repeated connections drive the server toward OOM. This requires no authentication, no special headers, and no user interaction — just network access to the HTTP/2 endpoint. CVSS vector: AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H.
Conditions required:
  • Network reachability to the target's HTTP/2 port
  • Apache serves HTTP/2 directly (not behind an HTTP/1.1-only reverse proxy)
Where this breaks in practice:
  • CDN/WAF/load-balancer in front may absorb or rate-limit the attack
  • Linux OOM killer may terminate and restart workers before full outage
  • mod_http2 can be disabled without losing HTTP/1.1 service
Detection/coverage: EPSS 4.80% (91st percentile) indicates moderate exploit likelihood; no known weaponized tooling yet; memory monitoring and HTTP/2 connection-rate alerts would catch this
STEP 03

(Alternative chain) HTTP response splitting via CVE-2024-42516

If the attacker controls or influences a backend application's Content-Type response header — common in proxied or CGI setups — they can inject CRLF sequences to split the HTTP response. This enables cache poisoning, XSS via injected headers, or session fixation. This is a re-emergence of CVE-2023-38709; the 2.4.59 patch was incomplete.
Conditions required:
  • Apache proxies or hosts an application where the attacker can influence Content-Type response values
  • No downstream WAF strips or validates response headers
Where this breaks in practice:
  • Attacker must already control part of the backend response — this is a second-order attack, not a direct remote exploit
  • Modern browsers increasingly ignore ambiguous response splitting
  • CDNs with strict header parsing may reject the split response
Detection/coverage: WAF rules for CRLF in response headers; cache-poisoning detection signatures
STEP 04

(Alternative chain) TLS 1.3 session resumption bypass via CVE-2025-23048

In multi-vhost Apache setups where different virtual hosts require different client certificates, an attacker with a valid client cert for vhost A can resume a TLS 1.3 session against vhost B, bypassing the SSLCACertificateFile restriction. This requires SSLStrictSNIVHostCheck to be off (the default).
Conditions required:
  • Multiple virtual hosts with distinct client-cert CAs on the same Apache instance
  • TLS 1.3 enabled (default in modern OpenSSL)
  • Attacker possesses a valid client certificate for at least one vhost
Where this breaks in practice:
  • Client-certificate authentication is rare in most enterprise web deployments
  • Attacker must already possess a trusted client cert — this is a lateral-access escalation, not initial access
  • Single-vhost or wildcard-cert deployments are unaffected
Detection/coverage: PoC available at github.com/absholi7ly/CVE-2025-23048-POC; audit TLS session resumption logs for cross-vhost SNI mismatches
STEP 05

(Windows-only) NTLM hash leak via CVE-2024-43394

On Windows deployments, unsanitized UNC paths in mod_rewrite rules or Apache expressions can trigger outbound SMB/NTLM authentication to an attacker-controlled server. The attacker captures NTLM hashes for offline cracking or relay attacks. This is Windows-specific and requires the Apache instance to process attacker-influenced input through rewrite rules.
Conditions required:
  • Apache running on Windows
  • mod_rewrite or expressions process user-supplied input that can contain UNC paths
  • Outbound SMB (port 445) not blocked by host firewall
Where this breaks in practice:
  • Apache on Windows is a minority deployment pattern — Linux dominates production use
  • Enterprise firewalls typically block outbound SMB at the perimeter
  • NTLM relay requires additional tooling and a valid relay target
Detection/coverage: Monitor for outbound SMB connections from web server hosts; Responder/ntlmrelayx detection signatures
03 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationNo known active exploitation. None of the 8 CVEs appear in CISA KEV. No campaigns attributed to these vulnerabilities as of 2026-09-17.
Proof-of-concept availabilityCVE-2025-23048: public PoC by absholi7ly on GitHub. Other CVEs: no standalone weaponized PoC identified, though response-splitting techniques for CVE-2024-42516 are well-understood from CVE-2023-38709 research.
EPSSCVE-2025-53020: 4.80% (91st percentile). CVE-2024-43204: 0.81% (54th percentile). Other CVEs not yet scored or below median.
KEV statusNot listed. None of the 8 CVEs are in the CISA Known Exploited Vulnerabilities catalog.
CVSS vectorsHighest individual: CVE-2025-53020CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H (7.5). Tenable's aggregated 9.1 is a plugin-level composite, not an NVD score for any single CVE.
Affected versionsBroadest range: 2.4.0 – 2.4.63 (CVE-2024-42516, CVE-2024-43204, CVE-2024-43394). Narrower: 2.4.17–2.4.63 (CVE-2025-53020), 2.4.26–2.4.63 (CVE-2025-49630), 2.4.35–2.4.63 (CVE-2025-23048).
Fixed versionApache httpd 2.4.64 (released 2025-07-10). Distro backports: check RHEL/CentOS httpd-2.4.37-* errata, Debian/Ubuntu apache2 security updates, Amazon Linux ALAS advisories.
Scanning / exposure dataApache httpd powers ~25-30% of active websites globally (W3Techs/Netcraft). Shodan indexes millions of internet-facing instances. Tenable VPR for this plugin: 5.0 (Medium, 93.91 percentile) — Tenable's own risk model disagrees with its Critical label.
Disclosure date2025-07-10 — all 8 CVEs disclosed simultaneously with the 2.4.64 release.
Reporting researchersMultiple contributors via Apache security team. CVE-2024-42516 is a re-fix of Orange Tsai's original CVE-2023-38709 HTTP response splitting research.
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to HIGH (6.5/10)

The single most decisive factor driving the downgrade from Critical to High is that no CVE in this bundle achieves remote code execution — the worst unauthenticated outcome is denial of service (CVE-2025-53020, CVSS 7.5), and every other chain requires either uncommon configurations, prior access to backend applications, or Windows-only deployment. The floor remains HIGH because Apache httpd is canonically internet-facing infrastructure with massive installed base and CVE-2025-53020 is unauthenticated remote DoS with no prerequisite beyond network reachability.

HIGH Verdict direction (downgrade from Critical)
HIGH No active exploitation or KEV listing
MEDIUM Individual CVE exploitability in real deployments

Why this verdict

  • No RCE in the bundle: All 8 CVEs cap out at DoS, response splitting, SSRF, or access-control bypass. Tenable's 9.1 implies confidentiality+integrity impact that simply does not exist in any single CVE here.
  • Aggregation inflation: Tenable composites 8 Moderate/Low CVEs into one Critical plugin. Apache's own ratings — the vendor who wrote the code — top out at Moderate. Tenable's VPR (5.0 Medium) contradicts its own CVSS label.
  • Configuration-dependent chains: CVE-2025-49630 needs ProxyPreserveHost on with HTTP/2 backend. CVE-2025-49812 needs SSLEngine optional. CVE-2025-23048 needs multi-vhost client-cert with TLS 1.3. CVE-2024-43204 needs mod_headers rewriting Content-Type. These are not default configurations.
  • Role multiplier: Apache httpd is canonically deployed as internet-facing infrastructure (high-value network-edge role). The CVE-2025-53020 DoS chain succeeds in this role with blast radius of service-availability impact per host. However, DoS against a single Apache instance does not cascade to domain takeover, fleet compromise, or supply-chain pivot — it is a per-host availability event, recoverable by restart. This floors the verdict at HIGH but does not reach CRITICAL.
  • No exploitation evidence: Zero KEV entries, no known campaigns, no weaponized exploit kits. EPSS for the lead CVE is 4.80% (91st percentile) — elevated but not alarming.

Why not higher?

The path to CRITICAL requires either (a) remote code execution, (b) active mass exploitation, or (c) a chain that ends in fleet/domain compromise from a canonical high-value role. None of the 8 CVEs achieves code execution. The worst unauthenticated outcome is memory-exhaustion DoS, which is recoverable and does not grant persistence or lateral movement. No KEV listing and no in-the-wild campaigns further argue against Critical.

Why not lower?

Apache httpd's massive internet-facing footprint means CVE-2025-53020's unauthenticated remote DoS is reachable against millions of hosts with zero prerequisites. An availability-only attack against a canonical edge component with EPSS in the 91st percentile cannot be dismissed as Medium. The response-splitting issue (CVE-2024-42516) also has real cache-poisoning potential in proxied architectures. The combination of broad exposure and multiple viable (if configuration-dependent) attack surfaces keeps this at HIGH.

05 · Compensating Control

What to do — in priority order.

  1. Disable HTTP/2 if not required — Setting Protocols h2 http/1.1 to just Protocols http/1.1 in your Apache config eliminates the CVE-2025-53020 DoS surface entirely. This is the single highest-value mitigation. Deploy within the noisgate mitigation SLA of 30 days for HIGH.
  2. Place Apache behind a CDN or reverse proxy that terminates HTTP/2 — If you need HTTP/2 for clients, terminate it at Cloudflare/Akamai/AWS ALB and proxy HTTP/1.1 to Apache. This shields Apache's HTTP/2 implementation from direct attacker interaction. Deploy within 30 days.
  3. Block outbound SMB (port 445) from web servers — Prevents CVE-2024-43394 NTLM hash exfiltration on Windows deployments. This should already be in place as basic host hardening. Verify within 30 days.
  4. Enable SSLStrictSNIVHostCheck on multi-vhost TLS configs — Setting SSLStrictSNIVHostCheck on mitigates CVE-2025-23048's TLS 1.3 session-resumption bypass across virtual hosts with different client-cert CAs.
  5. Audit and remove SSLEngine optional directives — The SSLEngine optional TLS-upgrade path is rare and enables CVE-2025-49812 MitM. Remove it unless you have a documented business requirement. Version 2.4.64 removes TLS upgrade support entirely.
  6. Deploy WAF rules for CRLF injection in response headers — ModSecurity or cloud WAF rules detecting %0d%0a / CRLF sequences in response headers mitigate CVE-2024-42516 response splitting.
What doesn't work
  • Rate limiting alone does not mitigate CVE-2025-53020 — the memory leak is per-connection, not per-request-rate; even moderate connection volumes can exhaust memory over time.
  • Upgrading OpenSSL without upgrading Apache does not fix CVE-2025-23048 — the session-resumption logic flaw is in mod_ssl's vhost selection code, not in the TLS library.
  • IP-based ACLs on the web port are impractical for internet-facing web servers and do not help for the DoS or response-splitting vectors.
06 · Verification

Crowdsourced verification payload.

Run this on each Apache host as any user with read access to the httpd binary. Example: bash check_apache_2.4.64.sh or bash check_apache_2.4.64.sh /usr/local/apache2/bin/httpd if your binary is non-standard. No root required.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# check_apache_2.4.64.sh — Verify Apache httpd is patched for Tenable 241984
# Usage: bash check_apache_2.4.64.sh [/path/to/httpd]
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN

set -euo pipefail

HTTPD="${1:-}"
if [ -z "$HTTPD" ]; then
  for candidate in httpd apache2 /usr/sbin/httpd /usr/sbin/apache2 /usr/local/apache2/bin/httpd; do
    if command -v "$candidate" &>/dev/null 2>&1; then
      HTTPD="$candidate"
      break
    fi
  done
fi

if [ -z "$HTTPD" ]; then
  echo "UNKNOWN — could not locate httpd/apache2 binary. Pass path as argument."
  exit 2
fi

VERSION_OUTPUT=$($HTTPD -v 2>/dev/null || true)
VERSION=$(echo "$VERSION_OUTPUT" | grep -oP 'Apache/\K[0-9]+\.[0-9]+\.[0-9]+' | head -1)

if [ -z "$VERSION" ]; then
  echo "UNKNOWN — could not parse version from: $VERSION_OUTPUT"
  exit 2
fi

echo "Detected Apache httpd version: $VERSION"

# Compare version against 2.4.64
IFS='.' read -r MAJOR MINOR PATCH <<< "$VERSION"

if [ "$MAJOR" -lt 2 ]; then
  echo "UNKNOWN — Apache 1.x detected; this check targets 2.4.x"
  exit 2
elif [ "$MAJOR" -eq 2 ] && [ "$MINOR" -lt 4 ]; then
  echo "UNKNOWN — Apache 2.0/2.2 detected; this check targets 2.4.x"
  exit 2
elif [ "$MAJOR" -eq 2 ] && [ "$MINOR" -eq 4 ] && [ "$PATCH" -ge 64 ]; then
  echo "PATCHED — Apache $VERSION >= 2.4.64. Tenable plugin 241984 should not fire."
  exit 0
elif [ "$MAJOR" -eq 2 ] && [ "$MINOR" -eq 4 ] && [ "$PATCH" -lt 64 ]; then
  echo "VULNERABLE — Apache $VERSION < 2.4.64. Affected by CVE-2025-53020, CVE-2024-42516, and 6 others."
  exit 1
else
  # Apache 2.5+ or 3.x — likely fine
  echo "PATCHED — Apache $VERSION is newer than 2.4.x branch."
  exit 0
fi
07 · Bottom Line

If you remember one thing.

TL;DR
Downgraded from Tenable Critical to noisgate HIGH (6.5). This plugin bundles 8 moderate-to-low Apache CVEs — none yielding RCE — and inflates them to CVSS 9.1. The real headline risk is CVE-2025-53020, an unauthenticated HTTP/2 memory-exhaustion DoS against the internet's second-most-popular web server. Monday morning: (1) identify all Apache httpd instances running 2.4.0–2.4.63 via your Tenable scan results, (2) deploy the highest-value compensating control — disable HTTP/2 or front Apache with a CDN/ALB that terminates HTTP/2 — within the noisgate mitigation SLA of 30 days, and (3) schedule the upgrade to 2.4.64 (or your distro's backported patch) within the noisgate remediation SLA of 180 days. Prioritize internet-facing instances and any Windows Apache hosts (NTLM leak risk). There is no active exploitation and no KEV listing, so this is a planned-cycle patch, not a fire drill.

Sources

  1. Tenable Plugin 241984
  2. Apache httpd 2.4 Security Vulnerabilities
  3. oss-security: CVE fixes in Apache HTTP Server 2.4.64
  4. CyberSecurityNews: Apache 2.4.64 Released
  5. CVE-2025-53020 Detail — CyberStrike
  6. CVE-2025-23048 PoC — GitHub
  7. SecurityOnline: Apache 2.4.64 Analysis
  8. LinuxSecurity: Apache 2.4.64 Patch Analysis
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.