{"id":30626,"date":"2026-09-30T00:31:20","date_gmt":"2026-09-29T16:31:20","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-72897"},"modified":"2026-09-30T00:31:20","modified_gmt":"2026-09-29T16:31:20","slug":"cve-2026-72897","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-72897","title":{"rendered":"CVE-2026-72897 &#8211; Issue summary: A TLS server that calls SSL_set_SSL_CTX() to switch a\nconnection to a diffe"},"content":{"rendered":"<p>Issue summary: A TLS server that calls SSL_set_SSL_CTX() to switch a<br \/>\nconnection to a different SSL_CTX part way through a handshake may access<br \/>\nmemory beyond the end of an internal array if the replacement context knows<br \/>\nabout more provider signature algorithms than the context the connection was<br \/>\ncreated from. Applications which never call SSL_set_SSL_CTX() are not<br \/>\naffected.<\/p>\n<p>Impact summary: A remote peer may be able to cause a small out-of-bounds<br \/>\nread, and in some circumstances a fixed-value out-of-bounds write, on the<br \/>\nserver heap. This may lead to a Denial of Service.<\/p>\n<p>CWE: CWE-787: Out-of-bounds Write<\/p>\n<p>Description: A TLS connection records how many certificate slots it has<br \/>\nwhen it is created, taken from the SSL_CTX that created it: the built-in<br \/>\ncertificate types plus one slot for each provider TLS-SIGALG entry that<br \/>\ncontext was aware of. That count sizes an internal array of per-slot<br \/>\ncertificate validity flags.<\/p>\n<p>An application may replace a connection&#8217;s SSL_CTX part way through the<br \/>\nhandshake by calling SSL_set_SSL_CTX(), most commonly from a servername<br \/>\ncallback in order to serve a different virtual host. Doing so did not<br \/>\nrefresh the recorded count. A provider signature algorithm&#8217;s slot index is<br \/>\nits position in the list of whichever context resolves it, so if the<br \/>\nreplacement context is aware of more of them than the original, an<br \/>\nalgorithm offered by the peer can resolve to an index beyond the end of the<br \/>\narray. Processing the peer&#8217;s signature algorithms then reads one four byte<br \/>\nword past the end for each such algorithm and, where the word read is zero,<br \/>\nwrites a fixed value over it. A peer offering many of them can corrupt heap<br \/>\nmetadata and abort the process.<\/p>\n<p>Only provider signature algorithms which occupy one of the excess slots,<br \/>\nand which the server also has configured, have this effect. Codepoints the<br \/>\nreplacement context does not recognise are discarded without being resolved<br \/>\nto a slot, and provider signature algorithms are usable only from TLS 1.3.<\/p>\n<p>The two contexts must therefore be aware of different numbers of provider<br \/>\nsignature algorithms, which requires separate library contexts, a provider<br \/>\nloaded between the two being created, or providers which differ in what<br \/>\nthey advertise &#8211; in 4.0, for example, the default provider advertises SM2<br \/>\nwhere the FIPS provider does not. A deployment meeting the condition is<br \/>\nalso unable to negotiate the affected algorithms with legitimate clients,<br \/>\nsince the same stale count hides the corresponding certificates, so the<br \/>\nmisconfiguration is likely to be noticed. For that reason, and because the<br \/>\nconfiguration is not the default, this issue has been assessed as Low<br \/>\nseverity.<\/p>\n<p>FIPS impact: no<br \/>\nNo FIPS modules are affected by this issue as the affected code is outside<br \/>\nthe OpenSSL FIPS module boundary.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Issue summary: A TLS server that calls SSL_set_SSL_CTX() to switch a<br \/>\nconnection to a different SSL_CTX part way through a handshake may access<br \/>\nmemory beyond the end of an internal array if the replace<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-30626","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/30626","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=30626"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=30626"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=30626"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}