<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto, 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>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>As suggested by tb@, merge the description of OPENSSL_EC_NAMED_CURVE</title>
<updated>2021-09-14T13:47:59+00:00</updated>
<author>
<name>schwarze</name>
<email></email>
</author>
<published>2021-09-14T13:47:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=8516f8e8e45c406ec2ca34ec57684ee01de472a5'/>
<id>urn:sha1:8516f8e8e45c406ec2ca34ec57684ee01de472a5</id>
<content type='text'>
and OPENSSL_EC_EXPLICIT_CURVE
from OpenSSL commit 146ca72c Feb 19 14:35:43 2015 +0000
after tb@ changed the default from 0 to OPENSSL_EC_NAMED_CURVE
in ec/ec_lib.c rev. 1.41,
which is the same default that OpenSSL uses since 1.1.0.

While merging, drop the description of the pre-1.1.0 behaviour.
It seems irrelevant to me because tb@ found no application in Debian
codesearch using OPENSSL_EC_EXPLICIT_CURVE.  A former devious default
that was probably never relied upon by anyone does not need to be
documented.
</content>
</entry>
<entry>
<title>In X509_check_issued() do the same dance around x509v3_cache_extensions()</title>
<updated>2021-09-13T15:26:53+00:00</updated>
<author>
<name>claudio</name>
<email></email>
</author>
<published>2021-09-13T15:26:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=a8af1574ae71c3f2012323155f8e2c784780de4c'/>
<id>urn:sha1:a8af1574ae71c3f2012323155f8e2c784780de4c</id>
<content type='text'>
as in all other palces. Check the EXFLAG_SET flag first and if not set
grab the CRYPTO_LOCK_X509 before calling x509v3_cache_extensions().
OK tb@ beck@
</content>
</entry>
<entry>
<title>Default to using named curve parameter encoding</title>
<updated>2021-09-12T16:23:19+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2021-09-12T16:23:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=10e8e3b7f398be5d656d5725a95663a364220e35'/>
<id>urn:sha1:10e8e3b7f398be5d656d5725a95663a364220e35</id>
<content type='text'>
The pre-OpenSSL 1.1.0 default was to use explicit curve parameter
encoding. Most applications want to use named curve parameter encoding
and have to opt into this explicitly.

Stephen Henson changed this default in OpenSSL commit 86f300d3 6 years
ago and provided a new OPENSSL_EC_EXPLICIT_CURVE define to opt back into
the old default.  According to Debian's codesearch, no application
currently does this, which indicates that we currently have a bad default.

In the future it is more likely that applications expect the new
default, so we follow OpenSSL to avoid problems.

Prompted by schwarze who noted that OPENSSL_EC_EXPLICIT_CURVE is missing.

ok beck inoguchi jsing
</content>
</entry>
<entry>
<title>Merge documentation of EC_GROUP_order_bits(3) from the OpenSSL 1.1.1</title>
<updated>2021-09-11T17:59:04+00:00</updated>
<author>
<name>schwarze</name>
<email></email>
</author>
<published>2021-09-11T17:59:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=6b26e78c6c668c2d81ebf87b49fe16389f658275'/>
<id>urn:sha1:6b26e78c6c668c2d81ebf87b49fe16389f658275</id>
<content type='text'>
branch, which is still under a free license.
While here, also merge a few other improvements, mostly regarding
EC_GROUP_get_order(3) and EC_GROUP_get_cofactor(3); in particular,
some statements below RETURN VALUES were outright wrong.
This patch includes a few minor tweaks and an addition to HISTORY by me.
Feedback and OK tb@.
</content>
</entry>
<entry>
<title>Add BGPSec Router (RFC 8209) Key Purpose OID</title>
<updated>2021-09-11T13:31:31+00:00</updated>
<author>
<name>job</name>
<email></email>
</author>
<published>2021-09-11T13:31:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=08b230186e0fd125a82664490d49f98aeb69a858'/>
<id>urn:sha1:08b230186e0fd125a82664490d49f98aeb69a858</id>
<content type='text'>
OK tb@
</content>
</entry>
<entry>
<title>Merge documentation for BN_bn2binpad(3), BN_bn2lebinpad(3),</title>
<updated>2021-09-11T08:45:47+00:00</updated>
<author>
<name>schwarze</name>
<email></email>
</author>
<published>2021-09-11T08:45:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b0b3e4e847df0c7cb16cc4610638c96e86735cd5'/>
<id>urn:sha1:b0b3e4e847df0c7cb16cc4610638c96e86735cd5</id>
<content type='text'>
and BN_lebin2bn(3) from the OpenSSL 1.1.1 branch,
which is still under a free license.
While here, tweak a number of details for clarity.
OK tb@
</content>
</entry>
</feed>
