Date: Tue, 16 Mar 2021 15:43:22 +0000 (UTC) From: Bernard Spil <brnrd@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r568572 - in head/security/libressl: . files Message-ID: <202103161543.12GFhMLU061661@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: brnrd Date: Tue Mar 16 15:43:21 2021 New Revision: 568572 URL: https://svnweb.freebsd.org/changeset/ports/568572 Log: security/libressl: Security fix for potential use-after-free MFH: 2021Q1 Security: eeca52dc-866c-11eb-b8d6-d4c9ef517024 Added: head/security/libressl/files/ head/security/libressl/files/patch-OpenBSD-Errata-6.8-17 (contents, props changed) Modified: head/security/libressl/Makefile Modified: head/security/libressl/Makefile ============================================================================== --- head/security/libressl/Makefile Tue Mar 16 15:42:00 2021 (r568571) +++ head/security/libressl/Makefile Tue Mar 16 15:43:21 2021 (r568572) @@ -3,6 +3,7 @@ PORTNAME= libressl PORTVERSION= 3.2.4 +PORTREVISION= 1 CATEGORIES= security devel MASTER_SITES= OPENBSD/LibreSSL Added: head/security/libressl/files/patch-OpenBSD-Errata-6.8-17 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/security/libressl/files/patch-OpenBSD-Errata-6.8-17 Tue Mar 16 15:43:21 2021 (r568572) @@ -0,0 +1,74 @@ +OpenBSD 6.8 errata 017, March 12, 2021: + +A TLS client using session resumption may cause a use-after-free. + +Apply by doing: + signify -Vep /etc/signify/openbsd-68-base.pub -x 017_libssl.patch.sig \ + -m - | (cd /usr/src && patch -p0) + +And then rebuild and install libssl and unwind: + cd /usr/src/lib/libssl + make obj + make + make install + cd /usr/src/sbin/unwind + make obj + make + make install + +Index: lib/libssl/s3_lib.c +=================================================================== +RCS file: /home/cvs/src/lib/libssl/s3_lib.c,v +retrieving revision 1.198 +diff -u -p -r1.198 s3_lib.c +--- ssl/s3_lib.c 17 Sep 2020 15:42:14 -0000 1.198 ++++ ssl/s3_lib.c 9 Mar 2021 18:50:53 -0000 +@@ -1577,6 +1577,10 @@ ssl3_free(SSL *s) + + free(S3I(s)->alpn_selected); + ++ /* Clear reference to sequence numbers. */ ++ tls12_record_layer_clear_read_state(s->internal->rl); ++ tls12_record_layer_clear_write_state(s->internal->rl); ++ + freezero(S3I(s), sizeof(*S3I(s))); + freezero(s->s3, sizeof(*s->s3)); + +@@ -1648,6 +1652,11 @@ ssl3_clear(SSL *s) + + s->internal->packet_length = 0; + s->version = TLS1_VERSION; ++ ++ tls12_record_layer_set_read_seq_num(s->internal->rl, ++ S3I(s)->read_sequence); ++ tls12_record_layer_set_write_seq_num(s->internal->rl, ++ S3I(s)->write_sequence); + + S3I(s)->hs.state = SSL_ST_BEFORE|((s->server) ? SSL_ST_ACCEPT : SSL_ST_CONNECT); + } +Index: lib/libssl/ssl_lib.c +=================================================================== +RCS file: /home/cvs/src/lib/libssl/ssl_lib.c,v +retrieving revision 1.234.4.1 +diff -u -p -r1.234.4.1 ssl_lib.c +--- ssl/ssl_lib.c 3 Feb 2021 07:06:13 -0000 1.234.4.1 ++++ ssl/ssl_lib.c 9 Mar 2021 18:50:53 -0000 +@@ -253,6 +253,8 @@ SSL_new(SSL_CTX *ctx) + goto err; + if ((s->internal = calloc(1, sizeof(*s->internal))) == NULL) + goto err; ++ if ((s->internal->rl = tls12_record_layer_new()) == NULL) ++ goto err; + + s->internal->min_version = ctx->internal->min_version; + s->internal->max_version = ctx->internal->max_version; +@@ -339,9 +341,6 @@ SSL_new(SSL_CTX *ctx) + s->method = ctx->method; + + if (!s->method->internal->ssl_new(s)) +- goto err; +- +- if ((s->internal->rl = tls12_record_layer_new()) == NULL) + goto err; + + s->references = 1;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202103161543.12GFhMLU061661>