---
id: CVE-2026-91769
title: >-
  PHP's OpenSSL stream peer verification checks the certificate's subjectAltName
  entries first and, whenever no entry matches, falls back to the Common Name
summary: >-
  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 …
severity: medium
cvss: 4.3
cvssVector: 'CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N'
cwe:
  - CWE-297
vendor: PHP Group
product: ext-openssl
affected:
  - ext-openssl >= 8.2.* < 8.2.34
  - ext-openssl >= 8.3.* < 8.3.35
  - ext-openssl >= 8.4.* < 8.4.26
  - ext-openssl >= 8.5.* < 8.5.11
published: '2026-09-25'
updated: '2026-09-25'
sourceUpdated: '2026-09-25T21:17:24.913'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-91769'
references:
  - url: 'https://github.com/php/php-src/security/advisories/GHSA-vvx9-73fr-5jjx'
    label: security@php.net
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-25T21:19:40.146Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
