<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib, branch OPENBSD_7_0</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_0</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_0'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2022-03-15T15:54:26+00:00</updated>
<entry>
<title>Fix infinite loop in BN_mod_sqrt()</title>
<updated>2022-03-15T15:54:26+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-03-15T15:54:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=76591ba244323a2970ad751e551ba496278315b1'/>
<id>urn:sha1:76591ba244323a2970ad751e551ba496278315b1</id>
<content type='text'>
A bug in the implementation of the Tonelli-Shanks algorithm can lead to
an infinite loop. This loop can be hit in various ways, in particular on
decompressing an elliptic curve public key via EC_POINT_oct2point() - to
do this, one must solve y^2 = x^3 + ax + b for y, given x.

If a certificate uses explicit encoding for elliptic curve parameters,
this operation needs to be done during certificate verification, leading
to a DoS. In particular, everything dealing with untrusted certificates
is affected, notably TLS servers explicitly configured to request
client certificates (httpd, smtpd, various VPN implementations, ...).
Ordinary TLS servers do not consume untrusted certificates.

The problem is that we cannot assume that x^3 + ax + b is actually a
square on untrusted input and neither can we assume that the modulus
p is a prime. Ensuring that p is a prime is too expensive (it would
likely itself lead to a DoS). To avoid the infinite loop, fix the logic
to be more resilient and explicitly limit the number of iterations that
can be done.  The bug is such that the infinite loop can also be hit for
primes = 3 (mod 4) but fortunately that case is optimized earlier.

It's also worth noting that there is a size bound on the field size
enforced via OPENSSL_ECC_MAX_FIELD_BITS (= 661), which help mitigate
further DoS vectors in presence of this fix.

Reported by Tavis Ormandy and David Benjamin, Google
Patch based on the fixes by David Benjamin and Tomas Mraz, OpenSSL

ok beck inoguchi

This is errata/7.0/016_bignum.patch.sig
</content>
</entry>
<entry>
<title>In some situations, the verifier would discard the error on an unvalidated</title>
<updated>2021-11-24T09:28:56+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2021-11-24T09:28:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=0f0b16dc977f6ca499f0f4540078d992c96da597'/>
<id>urn:sha1:0f0b16dc977f6ca499f0f4540078d992c96da597</id>
<content type='text'>
certificate chain. This would happen when the verification callback was
in use, instructing the verifier to continue unconditionally. This could
lead to incorrect decisions being made in software.

This is patches/common/006_x509.patch.sig
</content>
</entry>
<entry>
<title>This commit was manufactured by cvs2git to create branch 'OPENBSD_7_0'.</title>
<updated>2021-09-30T18:16:13+00:00</updated>
<author>
<name>cvs2svn</name>
<email>admin@example.com</email>
</author>
<published>2021-09-30T18:16:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=d7513e7d4daf94905fd4cb0a5e5c89109d2874f7'/>
<id>urn:sha1:d7513e7d4daf94905fd4cb0a5e5c89109d2874f7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Switch two calls from memset() to explicit_bzero()</title>
<updated>2021-09-19T09:15:22+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2021-09-19T09:15:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=f7454b8bede1be416adc77267c65bdcb40ee9f98'/>
<id>urn:sha1:f7454b8bede1be416adc77267c65bdcb40ee9f98</id>
<content type='text'>
This matches the documented behavior more obviously and ensures that
these aren't optimized away, although this is unlikely.

Discussed with deraadt and otto
</content>
</entry>
<entry>
<title>Implement flushing for TLSv1.3 handshakes.</title>
<updated>2021-09-16T19:25:30+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2021-09-16T19:25:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=30d2e422df85a55715b7f1da39294259d57b2b4f'/>
<id>urn:sha1:30d2e422df85a55715b7f1da39294259d57b2b4f</id>
<content type='text'>
When we finish sending a flight of records, flush the record layer output.
This effectively means calling BIO_flush() on the wbio.

Some things (such as apache2) have custom BIOs that perform buffering and
do not actually send on BIO_write(). Without BIO_flush() the server thinks
it has sent data and starts receiving records, however the client never
sends records since it never received those that the server should have
sent.

Joint work with tb@

ok tb@
</content>
</entry>
<entry>
<title>bump to LibreSSL 3.4.1</title>
<updated>2021-09-15T17:14:26+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2021-09-15T17:14:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=87ad048671e38be9ceea42ed9e24726a49a0167b'/>
<id>urn:sha1:87ad048671e38be9ceea42ed9e24726a49a0167b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Avoid typedef redefinition</title>
<updated>2021-09-14T23:07:18+00:00</updated>
<author>
<name>inoguchi</name>
<email></email>
</author>
<published>2021-09-14T23:07:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=76f3844ea887613e8a6df2ccc1f84d9ac93169b3'/>
<id>urn:sha1:76f3844ea887613e8a6df2ccc1f84d9ac93169b3</id>
<content type='text'>
"typedef struct ssl_st SSL;" is defined in ossl_typ.h.
This reverts part of r1.204.

ok tb@
</content>
</entry>
<entry>
<title>zap trailing white space</title>
<updated>2021-09-14T14:35:09+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2021-09-14T14:35:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=746c55aa543d6248b92ed473eba70fcb07059390'/>
<id>urn:sha1:746c55aa543d6248b92ed473eba70fcb07059390</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Call the info cb on connect/accept exit in TLSv1.3</title>
<updated>2021-09-14T14:31:21+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2021-09-14T14:31:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=2b3f71d6bd6fb2c09b1e9b6022796a88a8ac4f7f'/>
<id>urn:sha1:2b3f71d6bd6fb2c09b1e9b6022796a88a8ac4f7f</id>
<content type='text'>
The p5-Net-SSLeay test expects the info callback to be called on
connect exit. This is the behavior in the legacy stack but wasn't
implemented in the TLSv1.3 stack. With this commit, p5-Net-SSLeay
tests are happy again after the bump.

ok bluhm inoguchi jsing
</content>
</entry>
<entry>
<title>provide a small manual page for the SSL_set_psk_use_session_callback(3)</title>
<updated>2021-09-14T14:30:57+00:00</updated>
<author>
<name>schwarze</name>
<email></email>
</author>
<published>2021-09-14T14:30:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=893064c29739c4260c6617f7fdd94a8a802ae9cb'/>
<id>urn:sha1:893064c29739c4260c6617f7fdd94a8a802ae9cb</id>
<content type='text'>
stub, written from scratch;
OK tb@ on SSL_set_psk_use_session_callback.3
</content>
</entry>
</feed>
