critical CVSS 9.1

CVE-2025-23048·Apache vulnerability

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

Severity
critical
Software
Apache
Fixed in
2.4.64
Published
2025-07-10

Affected versions

From: 2.4.35

Until: 2.4.64

Fixed in: 2.4.64

How to fix this CVE

Upgrade Apache HTTP Server to version 2.4.64 or later to patch the TLS 1.3 session resumption bypass. If you operate multiple virtual hosts with different client certificate restrictions, ensure SSLStrictSNIVHostCheck is enabled on all affected virtual hosts as an interim mitigation. Review your mod_ssl configuration to confirm each virtual host has distinct certificate validation policies properly enforced.

sudo dnf update httpd

Defensia detects this vulnerability

How to check if you are affected

  1. Check installed Apache version: apache2ctl -v (on Debian/Ubuntu) or httpd -v (on RHEL/CentOS). Verify if version is between 2.4.35 and 2.4.63.
  2. Confirm mod_ssl is enabled: apache2ctl -M | grep ssl_module (Debian/Ubuntu) or httpd -M | grep ssl_module (RHEL/CentOS). If present, the vulnerability surface exists.
  3. Review Apache configuration for multiple virtual hosts with client certificate restrictions: grep -r 'SSLCACertificateFile\|SSLCACertificatePath\|SSLVerifyClient' /etc/apache2/sites-enabled/ (Ubuntu/Debian) or /etc/httpd/conf.d/ (RHEL/CentOS).
  4. Verify the fix by re-running apache2ctl -v or httpd -v after upgrade and confirming version is 2.4.64 or higher. Restart Apache: sudo systemctl restart apache2 (Debian/Ubuntu) or sudo systemctl restart httpd (RHEL/CentOS).

FAQ

What is CVE-2025-23048?

CVE-2025-23048 is a critical access control bypass in Apache mod_ssl that allows TLS 1.3 session resumption to authenticate a client to a different virtual host than originally intended. This occurs when multiple virtual hosts restrict client certificates differently and SSLStrictSNIVHostCheck is not enforced.

Is CVE-2025-23048 being actively exploited?

No, CVE-2025-23048 is not listed on the CISA Known Exploited Vulnerabilities (KEV) catalog and no public exploits are currently available. However, the critical CVSS score (9.1) warrants immediate patching.

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

Apache HTTP Server versions 2.4.35 through 2.4.63 are vulnerable. Version 2.4.64 and later include the fix.

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

Run httpd -v or apache2ctl -v to check your version. If it reports 2.4.35–2.4.63 and mod_ssl is enabled (httpd -M | grep ssl_module), your server is vulnerable if you have multiple virtual hosts with different client certificate policies.

Does Defensia detect CVE-2025-23048?

Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Apache is installed on a monitored server, CVE-2025-23048 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-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.
CVE-2024-38473CVSS 8.1Encoding problem in mod_proxy in Apache HTTP Server 2.4.59 and earlier allows request URLs with incorrect encoding to be sent to backend services, potentially bypassing authentication via crafted requests. Users are recommended to upgrade to version 2.4.60, which fixes this 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-2025-23048. Free for 1 server.

Get started free