high CVSS 7.5

CVE-2024-40898·Apache vulnerability

SSRF in Apache HTTP Server on Windows with mod_rewrite in server/vhost context, allows to potentially leak NTML hashes to a malicious server via SSRF and malicious requests. Users are recommended to upgrade to version 2.4.62 which fixes this issue. 

Severity
high
Software
Apache
Fixed in
2.4.62
Published
2024-07-18

Affected versions

Until: 2.4.62

Fixed in: 2.4.62

How to fix this CVE

Upgrade Apache HTTP Server to version 2.4.62 or later to address this server-side request forgery vulnerability affecting Windows deployments with mod_rewrite. Organizations running Apache on Windows should prioritize this update to prevent potential credential leakage through malicious rewrite rules that could redirect internal requests to attacker-controlled servers.

sudo dnf update httpd

Defensia detects this vulnerability

What an exploitation attempt looks like

Sample log line indicative of exploitation attempts:

POST|GET|HEAD requests containing unusual 'Host:' headers pointing to internal IP ranges (127.0.0.1, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) combined with mod_rewrite rule triggers; alternatively, log entries showing 'mod_rewrite' rules redirecting to external URLs with NTLM authentication headers

WAF mitigation (if patching is not yet possible)

Add this rule to your WAF to block exploitation attempts while you schedule the patch.

Implement WAF rules to block requests with rewrite-triggering patterns that attempt to redirect traffic to private IP ranges or external hosts not in an allowlist. Restrict mod_rewrite directives in .htaccess files and enforce strict input validation on parameters that feed into rewrite rules.

How to check if you are affected

  1. Step 1: Check Apache version with 'apache2 -v' (Debian/Ubuntu) or 'httpd -v' (RHEL/CentOS) and confirm it is below 2.4.62
  2. Step 2: Verify mod_rewrite is enabled by running 'apache2ctl -M | grep rewrite' or 'httpctl -M | grep rewrite' and check for rewrite rules in server or vhost context
  3. Step 3: Search Apache access and error logs for suspicious external requests or failed connection attempts: 'grep -E "CONNECT|tunnel|proxy" /var/log/apache2/error.log'
  4. Step 4: After patching, run 'apache2ctl -v' or 'httpctl -v' to confirm version is 2.4.62 or higher, then restart the service with 'sudo systemctl restart apache2' or 'sudo systemctl restart httpd'

FAQ

What is CVE-2024-40898?

This vulnerability is a server-side request forgery (SSRF) flaw in Apache HTTP Server running on Windows systems with mod_rewrite enabled in server or vhost configuration contexts. An attacker can craft malicious rewrite rules to force the server to make requests to arbitrary destinations, potentially exposing sensitive credentials like NTLM hashes.

Is CVE-2024-40898 being actively exploited?

No, this vulnerability is not currently listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, and no public exploits have been disclosed as of the advisory date.

What versions of Apache are affected by CVE-2024-40898?

All Apache HTTP Server versions prior to 2.4.62 are potentially affected, particularly those deployed on Windows systems with mod_rewrite active in server or virtual host contexts.

How do I check if my server is vulnerable to CVE-2024-40898?

Run 'apache2 -v' or 'httpd -v' to identify your version; if it returns a version lower than 2.4.62, then verify mod_rewrite is enabled with 'apache2ctl -M | grep rewrite'. If both conditions are true and you are on Windows, your system is vulnerable.

Does Defensia detect CVE-2024-40898?

Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Apache is installed on a monitored server, CVE-2024-40898 will appear in your dashboard with remediation steps.

Related Apache CVEs

CVE-2024-38476CVSS 9.8Vulnerability in core of Apache HTTP Server 2.4.59 and earlier are vulnerably to information disclosure, SSRF or local script execution via backend applications whose response headers are malicious or exploitable. Users are recommended to upgrade to version 2.4.60, which fixes this issue.
CVE-2024-38474CVSS 9.8Substitution encoding issue in mod_rewrite in Apache HTTP Server 2.4.59 and earlier allows attacker to execute scripts in directories permitted by the configuration but not directly reachable by any URL or source disclosure of scripts meant to only to be executed as CGI. Users are recommended to upgrade to version 2.4.60, which fixes this issue. Some RewriteRules that capture and substitute unsafely will now fail unless rewrite flag "UnsafeAllow3F" is specified.
CVE-2024-38475CVSS 9.1Improper escaping of output in mod_rewrite in Apache HTTP Server 2.4.59 and earlier allows an attacker to map URLs to filesystem locations that are permitted to be served by the server but are not intentionally/directly reachable by any URL, resulting in code execution or source code disclosure. Substitutions in server context that use a backreferences or variables as the first segment of the substitution are affected.  Some unsafe RewiteRules will be broken by this change and the rewrite flag "UnsafePrefixStat" can be used to opt back in once ensuring the substitution is appropriately constrained.
CVE-2025-23048CVSS 9.1In some mod_ssl configurations on Apache HTTP Server 2.4.35 through to 2.4.63, an access control bypass by trusted clients is possible using TLS 1.3 session resumption. Configurations are affected when mod_ssl is configured for multiple virtual hosts, with each restricted to a different set of trusted client certificates (for example with a different SSLCACertificateFile/Path setting). In such a case, a client trusted to access one virtual host may be able to access another virtual host, if SSLStrictSNIVHostCheck is not enabled in either virtual host.
CVE-2025-58098CVSS 8.3Apache HTTP Server 2.4.65 and earlier with Server Side Includes (SSI) enabled and mod_cgid (but not mod_cgi) passes the shell-escaped query string to #exec cmd="..." directives. This issue affects Apache HTTP Server before 2.4.66. Users are recommended to upgrade to version 2.4.66, which fixes the issue.

References

Track CVEs across your fleet automatically

Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-40898. Free for 1 server.

Get started free