<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd, branch libressl-v3.2.6</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=libressl-v3.2.6</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=libressl-v3.2.6'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2021-08-20T19:54:16+00:00</updated>
<entry>
<title>In LibreSSL, printing a certificate can result in a crash in</title>
<updated>2021-08-20T19:54:16+00:00</updated>
<author>
<name>benno</name>
<email></email>
</author>
<published>2021-08-20T19:54:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=a0edaa1df7ef2c86291fda512c1ac0b4bee8b545'/>
<id>urn:sha1:a0edaa1df7ef2c86291fda512c1ac0b4bee8b545</id>
<content type='text'>
X509_CERT_AUX_print().

Commit in -current:

CVSROOT:        /cvs
Module name:    src
Changes by:     schwarze@cvs.openbsd.org        2021/07/10 11:45:16

Modified files:
        lib/libcrypto/asn1: t_x509a.c

Log message:
Fix a read buffer overrun in X509_CERT_AUX_print(3),
which by implication also affects X509_print(3).

The ASN1_STRING_get0_data(3) manual explitely cautions the reader
that the data is not necessarily NUL-terminated, and the function
X509_alias_set1(3) does not sanitize the data passed into it in
any way either, so we must assume the alias-&gt;data field is merely
a byte array and not necessarily a string in the sense of the C
language.

I found this bug while writing manual pages for these functions.

OK tb@

As an aside, note that the function still produces incomplete and
misleading results when the data contains a NUL byte in the middle
and that error handling is consistently absent throughout, even
though the function provides an "int" return value obviously intended
to be 1 for success and 0 for failure, and even though this function
is called by another function that also wants to return 1 for success
and 0 for failure and even does so in many of its code paths, though
not in others.  But let's stay focussed.  Many things would be nice
to have in the wide wild world, but a buffer overflow must not be
allowed to remain in our backyard.

This is patches/6.8/common/029_x509.patch.sig
</content>
</entry>
<entry>
<title>Don't leave stale sequence numbers behind in ssl3_clear()</title>
<updated>2021-03-15T15:59:04+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2021-03-15T15:59:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=00ac1a9c447d64f268cd57eb3cf9206c725e2d54'/>
<id>urn:sha1:00ac1a9c447d64f268cd57eb3cf9206c725e2d54</id>
<content type='text'>
A TLS client doing session reuse in a certain way could run into
a use-after-free. Set the sequence numbers inside ssl3_clear() to
make sure this points at valid memory and do the initialization of
the record layer a bit earlier so that this works as desired.
Additionally, explicitly clear the sequence numbers in ssl3_free()
which would have turned the use-after-free into a NULL dereference.

Issue reported by Ilya Chipitsine.

Fix from jsing

This is errata/6.8/017_libssl.patch.sig
</content>
</entry>
<entry>
<title>This is errata/6.8/013_libressl.patch.sig</title>
<updated>2021-02-03T07:06:14+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2021-02-03T07:06:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=5eca2774fbb65f0eac0df1f87aaa91c139b0f724'/>
<id>urn:sha1:5eca2774fbb65f0eac0df1f87aaa91c139b0f724</id>
<content type='text'>
Various interoperability issues and memory leaks were discovered in
libcrypto and libssl.

The new verifier is not bug compatible with the old verifier and caused
many issues by failing to propagate errors correctly, returning different
error codes than some software was trained to expect and otherwise failing
when it shouldn't. While much of this is fixed in -current, it's still not
perfect, so switching back to the legacy verifier is preferable at this
point.

Other included fixes:

* Unbreak DTLS retransmissions for flights that include a CCS
* Only check BIO_should_read() on read and BIO_should_write() on write
* Implement autochain for the TLSv1.3 server
* Use the legacy verifier for AUTO_CHAIN
* Implement exporter for TLSv1.3
* Free alert_data and phh_data in tls13_record_layer_free()
* Plug leak in x509_verify_chain_dup()
* Free the policy tree in x509_vfy_check_policy()

Original commits by jsing and tb

ok inoguchi jsing
</content>
</entry>
<entry>
<title>Fix a NULL dereference in GENERAL_NAME_cmp()</title>
<updated>2020-12-08T15:08:47+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2020-12-08T15:08:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=267ac14fa6781b6553b05a6d8dcdf99eaacc0edf'/>
<id>urn:sha1:267ac14fa6781b6553b05a6d8dcdf99eaacc0edf</id>
<content type='text'>
Comparing two GENERAL_NAME structures containing an EDIPARTYNAME can lead
to a crash. This enables a denial of service attack for an attacker who can
control both sides of the comparison.

Issue reported to OpenSSL on Nov 9 by David Benjamin.
OpenSSL shared the information with us on Dec 1st.
Fix from Matt Caswell (OpenSSL) with a few small tweaks.

ok jsing

this is errata/6.8/008_asn1.patch.sig
</content>
</entry>
<entry>
<title>This commit was manufactured by cvs2git to create branch 'OPENBSD_6_8'.</title>
<updated>2020-09-26T15:44:08+00:00</updated>
<author>
<name>cvs2svn</name>
<email>admin@example.com</email>
</author>
<published>2020-09-26T15:44:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=ede7983d76de701a5269bb2be80a23f8da520e42'/>
<id>urn:sha1:ede7983d76de701a5269bb2be80a23f8da520e42</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Ensure leaf is set up on X509_STORE_CTX before verification.</title>
<updated>2020-09-26T15:44:06+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-09-26T15:44:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=4e8347390553060ef9ddb7e486d3c945d2af54ab'/>
<id>urn:sha1:4e8347390553060ef9ddb7e486d3c945d2af54ab</id>
<content type='text'>
Previously the leaf certificate was only being set up on the X509_STORE_CTX
after two verification steps were performed, however at least one of those
steps could result in the verification callback being triggered and
existing code breaking.

Issue noticed by Raf Czlonka when attempting to connect to talk.google.com
using profanity (which does not set SNI and ends up receiving an invalid
certificate).

ok beck@ deraadt@ tb@
</content>
</entry>
<entry>
<title>Call dtls1_hm_fragment_free() from dtls1_drain_fragments()</title>
<updated>2020-09-26T14:43:17+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-09-26T14:43:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b147e2d737372e25e4ae27eb3f3cf46c472e9055'/>
<id>urn:sha1:b147e2d737372e25e4ae27eb3f3cf46c472e9055</id>
<content type='text'>
Currently dtls1_drain_fragments() has a incomplete handrolled version of
dtls1_hm_fragment_free(), which has the potential to leak memory. Replace
the handrolled free with a call to dtls1_hm_fragment_free().

ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Have dtls1_new() call dtls1_free() on failure.</title>
<updated>2020-09-26T09:01:05+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-09-26T09:01:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=16a00524267404e94d8c26a27dd54a75587920e7'/>
<id>urn:sha1:16a00524267404e94d8c26a27dd54a75587920e7</id>
<content type='text'>
Allocate into the appropriate structures and call dtls1_free() on failure,
rather than allocating into local variables and then remembering to free
various things on failure.

ok tb@
</content>
</entry>
<entry>
<title>Have dtls1_hm_fragment_new() call dtls1_hm_fragment_free() on failure.</title>
<updated>2020-09-26T08:58:00+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-09-26T08:58:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=f4c0739084aedd02b6fe70b1b3fd77fb833e59c1'/>
<id>urn:sha1:f4c0739084aedd02b6fe70b1b3fd77fb833e59c1</id>
<content type='text'>
Rather than using local variables and having to remember which things need
to be freed upon a failure at a certain point, simply allocate into the
hm_fragment struct and call dtls1_hm_fragment_free() on failure.

Also use calloc() to ensure memory is appropriately zeroed/initialised.

ok tb@
</content>
</entry>
<entry>
<title>Refactor dtls1_clear_queues()</title>
<updated>2020-09-26T07:36:51+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2020-09-26T07:36:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=4284d3c95b72551c4d0f88087d7ef3e863d48e86'/>
<id>urn:sha1:4284d3c95b72551c4d0f88087d7ef3e863d48e86</id>
<content type='text'>
An upcoming cleanup diff by jsing needs dtls1_clear_queues() to be
able to handle NULL pqueues. While one can easily add a NULL check
to pqueue_pop(), this does not really fit in with the rest of the
code. There are two kinds of while loops in dtls1_clear_queues that
drain pqueues, so add two helper functions with a NULL check each.

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