MEDIUM: ssl: do not fall back to Subject CN when a SAN dNSName is present
Historically, ssl_sock_srv_verifycbk() checked the certificate's subjectAltName (SAN) extension first, but fell back to checking the Subject Common Name (CN) whenever no SAN matched the expected hostname (from SNI or "verifyhost"). However, per RFC 6125 section 6.4.4: https://datatracker.ietf.org/doc/html/rfc6125#section-6.4.4 "As noted, a client MUST NOT seek a match for a reference identifier of CN-ID if the presented identifiers include a DNS-ID, SRV-ID, URI-ID, or any application-specific identifier types supported by the client." This patch changes the behavior by tracking whether any dNSName entry was encountered in the SAN extension and skipping the Subject CN check entirely if one was present, even if none of the SAN entries matched. Fallback to CN is only preserved for legacy certificates lacking a dNSName SAN. This issue was reported in GitHub issue #3486.
W
William Lallemand committed
75129aaacb7a7b172f4e5334db71d6c1c50a3dbf
Parent: 818cd15
Committed by William Lallemand <wlallemand@haproxy.com>
on 9/1/2026, 11:47:07 AM