Skip to content

Commit 54df1b8

Browse files
authored
Update to v3.3.5 (#4)
1 parent 63bd7ab commit 54df1b8

File tree

9 files changed

+47
-66
lines changed

9 files changed

+47
-66
lines changed

CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,7 @@ if(ENABLE_ASM)
298298
elseif(CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i386")
299299
set(HOST_ASM_ELF_X86_64 true)
300300
endif()
301+
add_definitions(-DHAVE_GNU_STACK)
301302
elseif(APPLE AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64")
302303
set(HOST_ASM_MACOSX_X86_64 true)
303304
elseif(MSVC AND ("${CMAKE_GENERATOR}" MATCHES "Win64" OR "${CMAKE_GENERATOR_PLATFORM}" STREQUAL "x64"))

ChangeLog

+18
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,24 @@ history is also available from Git.
2828

2929
LibreSSL Portable Release Notes:
3030

31+
3.3.5 - Security fix
32+
33+
* A stack overread could occur when checking X.509 name constraints.
34+
From GoldBinocle on GitHub.
35+
36+
* Enable X509_V_FLAG_TRUSTED_FIRST by default in the legacy verifier.
37+
This compensates for the expiry of the DST Root X3 certificate.
38+
39+
3.3.4 - Security fix
40+
41+
* In LibreSSL, printing a certificate can result in a crash in
42+
X509_CERT_AUX_print().
43+
From Ingo Schwarze
44+
45+
* Ensure GNU-stack is set on ELF platforms when building with CMake to
46+
enable non-executable stack annotations for the GNU toolchain.
47+
From Tobias Heider
48+
3149
3.3.3 - Stable release
3250

3351
* This is the first stable release from the 3.3.x series.

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
3.3.3.0
1+
3.3.5.0
22

cert.pem

+1-44
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# $OpenBSD: cert.pem,v 1.22 2021/02/12 12:16:53 sthen Exp $
1+
# $OpenBSD: cert.pem,v 1.22.2.1 2021/09/30 18:28:20 deraadt Exp $
22
### /C=ES/CN=Autoridad de Certificacion Firmaprofesional CIF A62634068
33

44
=== /C=ES/CN=Autoridad de Certificacion Firmaprofesional CIF A62634068
@@ -1965,49 +1965,6 @@ r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1
19651965
gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+
19661966
-----END CERTIFICATE-----
19671967

1968-
### Digital Signature Trust Co.
1969-
1970-
=== /O=Digital Signature Trust Co./CN=DST Root CA X3
1971-
Certificate:
1972-
Data:
1973-
Version: 3 (0x2)
1974-
Serial Number:
1975-
44:af:b0:80:d6:a3:27:ba:89:30:39:86:2e:f8:40:6b
1976-
Signature Algorithm: sha1WithRSAEncryption
1977-
Validity
1978-
Not Before: Sep 30 21:12:19 2000 GMT
1979-
Not After : Sep 30 14:01:15 2021 GMT
1980-
Subject: O=Digital Signature Trust Co., CN=DST Root CA X3
1981-
X509v3 extensions:
1982-
X509v3 Basic Constraints: critical
1983-
CA:TRUE
1984-
X509v3 Key Usage: critical
1985-
Certificate Sign, CRL Sign
1986-
X509v3 Subject Key Identifier:
1987-
C4:A7:B1:A4:7B:2C:71:FA:DB:E1:4B:90:75:FF:C4:15:60:85:89:10
1988-
SHA1 Fingerprint=DA:C9:02:4F:54:D8:F6:DF:94:93:5F:B1:73:26:38:CA:6A:D7:7C:13
1989-
SHA256 Fingerprint=06:87:26:03:31:A7:24:03:D9:09:F1:05:E6:9B:CF:0D:32:E1:BD:24:93:FF:C6:D9:20:6D:11:BC:D6:77:07:39
1990-
-----BEGIN CERTIFICATE-----
1991-
MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/
1992-
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
1993-
DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow
1994-
PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD
1995-
Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
1996-
AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O
1997-
rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq
1998-
OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b
1999-
xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw
2000-
7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD
2001-
aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
2002-
HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG
2003-
SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69
2004-
ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr
2005-
AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz
2006-
R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5
2007-
JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo
2008-
Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
2009-
-----END CERTIFICATE-----
2010-
20111968
### Disig a.s.
20121969

20131970
=== /C=SK/L=Bratislava/O=Disig a.s./CN=CA Disig Root R2

configure

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#! /bin/sh
22
# Guess values for system-dependent variables and create Makefiles.
3-
# Generated by GNU Autoconf 2.69 for libressl 3.3.3.
3+
# Generated by GNU Autoconf 2.69 for libressl 3.3.5.
44
#
55
#
66
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@ MAKEFLAGS=
587587
# Identity of this package.
588588
PACKAGE_NAME='libressl'
589589
PACKAGE_TARNAME='libressl'
590-
PACKAGE_VERSION='3.3.3'
591-
PACKAGE_STRING='libressl 3.3.3'
590+
PACKAGE_VERSION='3.3.5'
591+
PACKAGE_STRING='libressl 3.3.5'
592592
PACKAGE_BUGREPORT=''
593593
PACKAGE_URL=''
594594

@@ -1452,7 +1452,7 @@ if test "$ac_init_help" = "long"; then
14521452
# Omit some internal or obsolete options to make the list less imposing.
14531453
# This message is too long to be a string in the A/UX 3.1 sh.
14541454
cat <<_ACEOF
1455-
\`configure' configures libressl 3.3.3 to adapt to many kinds of systems.
1455+
\`configure' configures libressl 3.3.5 to adapt to many kinds of systems.
14561456
14571457
Usage: $0 [OPTION]... [VAR=VALUE]...
14581458
@@ -1523,7 +1523,7 @@ fi
15231523

15241524
if test -n "$ac_init_help"; then
15251525
case $ac_init_help in
1526-
short | recursive ) echo "Configuration of libressl 3.3.3:";;
1526+
short | recursive ) echo "Configuration of libressl 3.3.5:";;
15271527
esac
15281528
cat <<\_ACEOF
15291529
@@ -1641,7 +1641,7 @@ fi
16411641
test -n "$ac_init_help" && exit $ac_status
16421642
if $ac_init_version; then
16431643
cat <<\_ACEOF
1644-
libressl configure 3.3.3
1644+
libressl configure 3.3.5
16451645
generated by GNU Autoconf 2.69
16461646
16471647
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2189,7 +2189,7 @@ cat >config.log <<_ACEOF
21892189
This file contains any messages produced by compilers while
21902190
running configure, to aid debugging if configure makes a mistake.
21912191
2192-
It was created by libressl $as_me 3.3.3, which was
2192+
It was created by libressl $as_me 3.3.5, which was
21932193
generated by GNU Autoconf 2.69. Invocation command line was
21942194
21952195
$ $0 $@
@@ -3125,7 +3125,7 @@ fi
31253125

31263126
# Define the identity of the package.
31273127
PACKAGE='libressl'
3128-
VERSION='3.3.3'
3128+
VERSION='3.3.5'
31293129

31303130

31313131
cat >>confdefs.h <<_ACEOF
@@ -14945,7 +14945,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
1494514945
# report actual input values of CONFIG_FILES etc. instead of their
1494614946
# values after options handling.
1494714947
ac_log="
14948-
This file was extended by libressl $as_me 3.3.3, which was
14948+
This file was extended by libressl $as_me 3.3.5, which was
1494914949
generated by GNU Autoconf 2.69. Invocation command line was
1495014950
1495114951
CONFIG_FILES = $CONFIG_FILES
@@ -15002,7 +15002,7 @@ _ACEOF
1500215002
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
1500315003
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
1500415004
ac_cs_version="\\
15005-
libressl config.status 3.3.3
15005+
libressl config.status 3.3.5
1500615006
configured by $0, generated by GNU Autoconf 2.69,
1500715007
with options \\"\$ac_cs_config\\"
1500815008

crypto/asn1/t_x509a.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $OpenBSD: t_x509a.c,v 1.8 2014/07/11 08:44:47 jsing Exp $ */
1+
/* $OpenBSD: t_x509a.c,v 1.8.16.1 2021/08/20 19:54:59 benno Exp $ */
22
/* Written by Dr Stephen N Henson ([email protected]) for the OpenSSL
33
* project 1999.
44
*/
@@ -105,8 +105,8 @@ X509_CERT_AUX_print(BIO *out, X509_CERT_AUX *aux, int indent)
105105
} else
106106
BIO_printf(out, "%*sNo Rejected Uses.\n", indent, "");
107107
if (aux->alias)
108-
BIO_printf(out, "%*sAlias: %s\n", indent, "",
109-
aux->alias->data);
108+
BIO_printf(out, "%*sAlias: %.*s\n", indent, "",
109+
aux->alias->length, aux->alias->data);
110110
if (aux->keyid) {
111111
BIO_printf(out, "%*sKey Id: ", indent, "");
112112
for (i = 0; i < aux->keyid->length; i++)

crypto/x509/x509_constraints.c

+9-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $OpenBSD: x509_constraints.c,v 1.15 2021/03/12 15:57:30 tb Exp $ */
1+
/* $OpenBSD: x509_constraints.c,v 1.15.2.1 2021/09/26 14:07:40 deraadt Exp $ */
22
/*
33
* Copyright (c) 2020 Bob Beck <[email protected]>
44
*
@@ -334,16 +334,16 @@ x509_constraints_parse_mailbox(uint8_t *candidate, size_t len,
334334
if (c == '.')
335335
goto bad;
336336
}
337-
if (wi > DOMAIN_PART_MAX_LEN)
338-
goto bad;
339337
if (accept) {
338+
if (wi >= DOMAIN_PART_MAX_LEN)
339+
goto bad;
340340
working[wi++] = c;
341341
accept = 0;
342342
continue;
343343
}
344344
if (candidate_local != NULL) {
345345
/* We are looking for the domain part */
346-
if (wi > DOMAIN_PART_MAX_LEN)
346+
if (wi >= DOMAIN_PART_MAX_LEN)
347347
goto bad;
348348
working[wi++] = c;
349349
if (i == len - 1) {
@@ -358,7 +358,7 @@ x509_constraints_parse_mailbox(uint8_t *candidate, size_t len,
358358
continue;
359359
}
360360
/* We are looking for the local part */
361-
if (wi > LOCAL_PART_MAX_LEN)
361+
if (wi >= LOCAL_PART_MAX_LEN)
362362
break;
363363

364364
if (quoted) {
@@ -378,6 +378,8 @@ x509_constraints_parse_mailbox(uint8_t *candidate, size_t len,
378378
*/
379379
if (c == 9)
380380
goto bad;
381+
if (wi >= LOCAL_PART_MAX_LEN)
382+
goto bad;
381383
working[wi++] = c;
382384
continue; /* all's good inside our quoted string */
383385
}
@@ -407,6 +409,8 @@ x509_constraints_parse_mailbox(uint8_t *candidate, size_t len,
407409
}
408410
if (!local_part_ok(c))
409411
goto bad;
412+
if (wi >= LOCAL_PART_MAX_LEN)
413+
goto bad;
410414
working[wi++] = c;
411415
}
412416
if (candidate_local == NULL || candidate_domain == NULL)

crypto/x509/x509_vpm.c

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $OpenBSD: x509_vpm.c,v 1.25 2021/04/15 14:15:03 tb Exp $ */
1+
/* $OpenBSD: x509_vpm.c,v 1.25.2.1 2021/09/30 18:25:43 deraadt Exp $ */
22
/* Written by Dr Stephen N Henson ([email protected]) for the OpenSSL
33
* project 2004.
44
*/
@@ -598,6 +598,7 @@ static const X509_VERIFY_PARAM_ID _empty_id = { NULL };
598598
static const X509_VERIFY_PARAM default_table[] = {
599599
{
600600
.name = "default",
601+
.flags = X509_V_FLAG_TRUSTED_FIRST,
601602
.depth = 100,
602603
.trust = 0, /* XXX This is not the default trust value */
603604
.id = vpm_empty_id

include/openssl/opensslv.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
#define HEADER_OPENSSLV_H
44

55
/* These will change with each release of LibreSSL-portable */
6-
#define LIBRESSL_VERSION_NUMBER 0x3030300fL
6+
#define LIBRESSL_VERSION_NUMBER 0x3030500fL
77
/* ^ Patch starts here */
8-
#define LIBRESSL_VERSION_TEXT "LibreSSL 3.3.3"
8+
#define LIBRESSL_VERSION_TEXT "LibreSSL 3.3.5"
99

1010
/* These will never change */
1111
#define OPENSSL_VERSION_NUMBER 0x20000000L

0 commit comments

Comments
 (0)