Medium severity · published Sep 25, 2026
CVE-2026-91769
TLS Hostname Verification Falls Back to CN After SAN Mismatch
4.3
CVSS
0.2%
EPSS
No
On KEV
Description
PHP's OpenSSL stream peer verification checks the certificate's subjectAltName entries first and, whenever no entry matches, falls back to the Common Name. RFC 6125 requires the CN to be ignored once the certificate presents any service identity, so a certificate carrying a non-matching DNS SAN was still accepted when its CN matched the requested peer_name. A certificate trusted by the client for one name can therefore be used to impersonate another.
CVSS vector
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Attack vector
Adjacent
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
Low
Integrity
None
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 5% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
PH
PHP · PHP
8.2.* before 8.2.34; 8.3.* before 8.3.35; 8.4.* before 8.4.26; 8.5.* before 8.5.11 · source: vendor, NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-91769
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-91769
vendor-advisory
https://github.com/php/php-src/security/advisories/GHSA-vvx9-73fr-5jjx
More from PHP
9.8
CVE-2026-109618
RCE via OOM corruption
9.8
CVE-2024-4577
Argument Injection in PHP-CGI
9.8
CVE-2019-11043
Underflow in PHP-FPM can lead to RCE
9.8
CVE-2016-10033
The mailSend function in the isMail transport in PHPMailer before 5.2.18 might allow remote attackers to pass extra parameters to the mail command and consequently execute…
9.8
CVE-2012-1823
PHP-CGI Query String Parameter Vulnerability
