CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2026/11/10 15:32:51
Modified files:
lib/libssl : Tag: OPENBSD_8_0 s3_lib.c ssl_pkt.c
ssl_tlsext.c
Log message:
libssl: bump sigalg maximum to 256
With PQ algorithms getting more widely deployed, the formerly generous cap
of 32 sigalgs has long been known to be too tight for a while. A couple of
years back jmatthew ran into interop issues with the oqs provider being
enabled on OmniOS by default. OpenSSL 4.1 now announcing 39 sigalgs, this
is becoming a real-world problem and is first and foremost protecting us
from seamless interop with other stacks.
To this end, introduce a helper shared between client and server to cap
the list size and a macro similar to the one we have for supported groups.
Thanks to DabeDotCom for reporting.
Fixes https://github.com/libressl/portable/issues/1446
from tb@; OK jsing@
Correct outgoing record checks in the legacy TLSv1.2 stack.
Ensure an existing record is not being written prior to commencing
renegotiation or sending an alert in the legacy TLSv1.2 stack. The way
that TLSv1.2 records are sent was changed in r1.79 of ssl_pkt.c, however
this failed to correctly handle outgoing record checks. This means that
renegotiation can be commenced or an alert can be sent while an application
data record is being written, the size of which is then returned instead of
the size of the handshake record or alert record, resulting in a buffer
overread. This is reachable via renegotiation being triggered in the legacy
TLSv1.2 stack, under the right conditions.
For now also restore the previous SSL_R_BAD_WRITE_RETRY behaviour, which
checks that the retried write matches a given set of constraints. This will
be revisited again in the future.
Thanks to William T. Nelson for reporting the issue and providing a fix.
from jsing@; OK kenjiro@
this is errata/8.0/013_libressl.patch.sig