high CVSS 8.3 EPSS <0.1%

CVE-2025-58098·Apache vulnerability

Apache 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.

Severity
high
Software
Apache
Fixed in
2.4.66
Published

How likely is exploitation

FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at <0.1% — higher than 7% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.

Read the two together. CVE-2025-58098 scores 8.3 on CVSS, so a successful attack would be serious — but at <0.1%, almost nobody is currently attempting it. That is a different situation from a flaw under mass exploitation, and it is usually the difference between patching on your next maintenance window and patching tonight.

Affected versions

Until: 2.4.66

Fixed in: 2.4.66

How to fix this CVE

Upgrade Apache HTTP Server to version 2.4.66 or later to patch the Server Side Includes (SSI) command injection vulnerability. This fix prevents improper shell escaping of query strings when using mod_cgid with #exec directives, which could allow authenticated users to execute arbitrary shell commands on the server. If you cannot upgrade immediately, disable Server Side Includes or switch from mod_cgid to mod_cgi as a temporary mitigation.

sudo dnf update -y httpd httpd-core httpd-devel

Defensia detects this vulnerability

What an exploitation attempt looks like

Sample log line indicative of exploitation attempts:

POST|GET.*\?.*exec\s+cmd=|SSI.*#exec.*cmd=.*\$\(.*\)|query string containing shell metacharacters passed to #exec directive in .shtml file processing

WAF mitigation (if patching is not yet possible)

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

Block HTTP requests to .shtml files containing query strings with shell metacharacters (;, |, &, $, `, \n, \r) or the pattern 'exec cmd=' in the query string. Implement strict input validation on CGI parameters and restrict execution of SSI directives with external command invocation.

How to check if you are affected

  1. Check your Apache version with: apache2ctl -v (or httpd -v on RHEL/CentOS) and confirm if it is 2.4.66 or later
  2. Verify if Server Side Includes are enabled by checking httpd.conf for 'AddType text/html .shtml' and 'AddOutputFilter INCLUDES .shtml' directives
  3. Confirm mod_cgid is loaded instead of mod_cgi by running: apache2ctl -M | grep cgid (should show cgid_module if vulnerable configuration is present)
  4. Review Apache error and access logs for patterns like '?exec cmd=' in query strings combined with .shtml requests, indicating potential exploitation attempts

FAQ

What is CVE-2025-58098?

This vulnerability allows authenticated users to execute arbitrary shell commands on Apache servers running version 2.4.65 or earlier with Server Side Includes enabled and mod_cgid loaded, due to improper shell escaping of query string parameters in #exec directives.

Is CVE-2025-58098 being actively exploited?

No, there are currently no reports of active exploitation or public exploits available for this vulnerability.

What versions of Apache are affected by CVE-2025-58098?

All versions up to and including Apache 2.4.65 are affected; version 2.4.66 and later contain the patch.

How do I check if my server is vulnerable to CVE-2025-58098?

Run 'apache2ctl -v' to check the version, then verify SSI is enabled with 'grep -E "AddOutputFilter INCLUDES" /etc/apache2/httpd.conf' and confirm mod_cgid is loaded with 'apache2ctl -M | grep cgid_module' — if all three conditions are true, your server is vulnerable.

Does Defensia detect CVE-2025-58098?

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

Related Apache CVEs

CVE-2026-29167CVSS 10Use After Free vulnerability in Apache HTTP Server with mod_ldap in per-directory configuration This issue affects Apache HTTP Server: from 2.4.0 through 2.4.67. Users are recommended to upgrade to version 2.4.68, which fixes the issue.
CVE-2026-44631CVSS 10Buffer Underwrite vulnerability in Apache HTTP Server on crafted regular expressions in the configuration. This issue affects Apache HTTP Server: from 2.4.0 through 2.4.67. Users are recommended to upgrade to version 2.4.68, which fixes the issue.
CVE-2021-41773CVSS 10A flaw was found in a change made to path normalization in Apache HTTP Server 2.4.49. An attacker could use a path traversal attack to map URLs to files outside the directories configured by Alias-like directives. If files outside of these directories are not protected by the usual default configuration "require all denied", these requests can succeed. If CGI scripts are also enabled for these aliased pathes, this could allow for remote code execution. This issue is known to be exploited in the wild. This issue only affects Apache 2.4.49 and not earlier versions. The fix in Apache HTTP Server 2.4.50 was found to be incomplete, see CVE-2021-42013.
CVE-2021-42013CVSS 10It was found that the fix for CVE-2021-41773 in Apache HTTP Server 2.4.50 was insufficient. An attacker could use a path traversal attack to map URLs to files outside the directories configured by Alias-like directives. If files outside of these directories are not protected by the usual default configuration "require all denied", these requests can succeed. If CGI scripts are also enabled for these aliased pathes, this could allow for remote code execution. This issue only affects Apache 2.4.49 and Apache 2.4.50 and not earlier versions.
CVE-2021-44790CVSS 10A carefully crafted request body can cause a buffer overflow in the mod_lua multipart parser (r:parsebody() called from Lua scripts). The Apache httpd team is not aware of an exploit for the vulnerabilty though it might be possible to craft one. This issue affects Apache HTTP Server 2.4.51 and earlier.

References

Track CVEs across your fleet automatically

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

Get started free