<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src, branch OPENBSD_7_9_BASE</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9_BASE</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9_BASE'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2026-04-16T07:35:25+00:00</updated>
<entry>
<title>libtls: consistently handle allocation failures</title>
<updated>2026-04-16T07:35:25+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2026-04-16T07:35:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=8662e35dbd36d8450a6d4c7188a65c580e4b339f'/>
<id>urn:sha1:8662e35dbd36d8450a6d4c7188a65c580e4b339f</id>
<content type='text'>
Use tls_set_errorx() or tls_error_setx() rather than the versions without
x for TLS_ERROR_OUT_OF_MEMORY. ENOMEM adds no further info.

From Michael Forney

ok bcook
</content>
</entry>
<entry>
<title>libtls: use TLS_ERROR_OUT_OF_MEMORY after malloc failure</title>
<updated>2026-04-16T07:33:11+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2026-04-16T07:33:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=8dfa678933bc42faeff1d9406e589c16fac7f60e'/>
<id>urn:sha1:8dfa678933bc42faeff1d9406e589c16fac7f60e</id>
<content type='text'>
tls_config_load_file() hat a spot that used TLS_ERROR_UNKNOWN, so switch
that to the usual error code. Use tls_error_setx() since strerror(ENOMEM)
adds nothing.

From Michael Forney

ok bcook
</content>
</entry>
<entry>
<title>libtls: use tls_error_setx() after BIO_new_mem_buf()</title>
<updated>2026-04-16T07:29:53+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2026-04-16T07:29:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=03c4722ecfb4116b7f9fd10b6a216287a7ecf24d'/>
<id>urn:sha1:03c4722ecfb4116b7f9fd10b6a216287a7ecf24d</id>
<content type='text'>
This is the only place where tls_error_set() was used. While the new length
check now guarantees that the failure is due to ENOMEM, this info does not
add value.

From Michael Forney

ok bcook
</content>
</entry>
<entry>
<title>libtls: prefer x version of error setting</title>
<updated>2026-04-16T07:28:00+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2026-04-16T07:28:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=4ab01251a636fac40d8a39e8cc3ba506580aa79b'/>
<id>urn:sha1:4ab01251a636fac40d8a39e8cc3ba506580aa79b</id>
<content type='text'>
If a check fails and errno is not necessarily set by the previous API call
use tls_set_errorx() or tls_error_setx() since turning an unrelated errno
into an error string is unhelpful.

From Michael Forney

ok bcook
</content>
</entry>
<entry>
<title>libtls: add missing length checks before BIO_new_mem_buf()</title>
<updated>2026-04-16T05:16:48+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2026-04-16T05:16:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=d680a6fb78c5f1a30a0d45de7b989cee9631652a'/>
<id>urn:sha1:d680a6fb78c5f1a30a0d45de7b989cee9631652a</id>
<content type='text'>
Like all proper libcrypto APIs, BIO_new_mem_buf() takes an int as a length
argument. Check the size_t passed in to be at most INT_MAX to avoid issues
with truncation and overflow like it's done everywhere else. After release
this should probably be clamped down further since legitimate files (certs
and keys) are nowhere near this large.

Prompted by a diff by Michael Forney

ok jsing
</content>
</entry>
<entry>
<title>keypairtest: zero out tls_error before running tests</title>
<updated>2026-04-15T20:13:07+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2026-04-15T20:13:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=814cf761c3d6111996b311e8fe62455469ae8a3c'/>
<id>urn:sha1:814cf761c3d6111996b311e8fe62455469ae8a3c</id>
<content type='text'>
Otherwise tls_error_clear() (called e.g. via tls_error_vset()) will
free the bad error-&gt;msg pointer.

From Michael Forney
</content>
</entry>
<entry>
<title>Prior to this we substring matched and allowed a leading .</title>
<updated>2026-04-13T17:04:23+00:00</updated>
<author>
<name>beck</name>
<email></email>
</author>
<published>2026-04-13T17:04:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=cf3eec32e7a6acbaecd14871fb75ad34fb76c3e7'/>
<id>urn:sha1:cf3eec32e7a6acbaecd14871fb75ad34fb76c3e7</id>
<content type='text'>
on a SAN DNSname constraint. This is not correct, as with
a DNSname constraint, it may exacly match or match zero or
more additional components on the front of the candidte to
match.

Spotted by Haruto Kimura &lt;hkimura2026@gmail.com&gt;

ok tb@ kenjiro@
</content>
</entry>
<entry>
<title>Bump LibreSSL version for the release</title>
<updated>2026-04-08T05:30:20+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2026-04-08T05:30:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=d58a3236dc52156e5514e3212cbb63805e90915e'/>
<id>urn:sha1:d58a3236dc52156e5514e3212cbb63805e90915e</id>
<content type='text'>
ok deraadt
</content>
</entry>
<entry>
<title>Rename labellen to label_len</title>
<updated>2026-04-07T13:16:41+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2026-04-07T13:16:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=825b6076f1b1772665d1adce40e8087ee4e3d091'/>
<id>urn:sha1:825b6076f1b1772665d1adce40e8087ee4e3d091</id>
<content type='text'>
Requested by jsing, ok beck
</content>
</entry>
<entry>
<title>Fix NULL deref for malformed OAEP parameters in CMS decryption</title>
<updated>2026-04-07T13:15:29+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2026-04-07T13:15:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=e783182e57d664df5859c6b6cbd65563cdc26528'/>
<id>urn:sha1:e783182e57d664df5859c6b6cbd65563cdc26528</id>
<content type='text'>
This converts rsa_cms_decrypt() to use X509_ALGOR_get0() and fixes a
NULL deref when a parameter is (invalidly) omitted similar to the fix
in ec/ec_ameth.c r1.66 from a couple years back. There is currently
an XXX annotating a hairy leak due to trying to be smart and stealing
the parameters from the oaep object. Instead, just make a copy of the
label string and free it in the exit path.

The diff adds an error for labellen == 0 since that is an invalid
encoding of pSpecifiedEmpty (see RFC 8017) -- per the DER the default
must be omitted. This way we avoid a malloc(0) implementation-defined
behavior.

This minor issue was assigned CVE-2026-28390 by OpenSSL and was reported
by too many to list. The fix is my own. It is similar to OpenSSL's fix
only because I rewiewed theirs and suggested an improvement or two.

This is the last of the "security fixes" in today's OpenSSL release that
"affect" LibreSSL. All the other bugs were already fixed a few years back
or we didn't have the code/bugs in the first place.

ok beck jsing
</content>
</entry>
</feed>
