mbedtls/mbedtls.spec
Martin Pluskal b4be9589b6 Accepting request 1044072 from home:abergmann:branches:security:tls
- Update to 2.28.2: (bsc#1206576, CVE-2022-46393)
  Security:
  * Fix potential heap buffer overread and overwrite in DTLS if
    MBEDTLS_SSL_DTLS_CONNECTION_ID is enabled and
    MBEDTLS_SSL_CID_IN_LEN_MAX > 2 * MBEDTLS_SSL_CID_OUT_LEN_MAX.
old: security:tls/mbedtls
new: home:abergmann:branches:security:tls/mbedtls rev None
Index: mbedtls.changes
===================================================================
--- mbedtls.changes (revision 36)
+++ mbedtls.changes (revision 2)
@@ -1,4 +1,75 @@
 -------------------------------------------------------------------
+Wed Dec 21 11:10:10 UTC 2022 - Alexander Bergmann <abergmann@suse.com>
+
+- Update to 2.28.2: (bsc#1206576, CVE-2022-46393)
+
+  Security:
+  * Fix potential heap buffer overread and overwrite in DTLS if
+    MBEDTLS_SSL_DTLS_CONNECTION_ID is enabled and
+    MBEDTLS_SSL_CID_IN_LEN_MAX > 2 * MBEDTLS_SSL_CID_OUT_LEN_MAX.
+  * An adversary with access to precise enough information about memory
+    accesses (typically, an untrusted operating system attacking a secure
+    enclave) could recover an RSA private key after observing the victim
+    performing a single private-key operation if the window size used for the
+    exponentiation was 3 or smaller. Found and reported by Zili KOU,
+    Wenjian HE, Sharad Sinha, and Wei ZHANG. See "Cache Side-channel Attacks
+    and Defenses of the Sliding Window Algorithm in TEEs" - Design, Automation
+    and Test in Europe 2023.
+
+  Bugfix:
+  * Fix a long-standing build failure when building x86 PIC code with old
+    gcc (4.x). The code will be slower, but will compile. We do however
+    recommend upgrading to a more recent compiler instead. Fixes #1910.
+  * Fix support for little-endian Microblaze when MBEDTLS_HAVE_ASM is defined.
+    Contributed by Kazuyuki Kimura to fix #2020.
+  * Use double quotes to include private header file psa_crypto_cipher.h.
+    Fixes 'file not found with include' error when building with Xcode.
+  * Fix handling of broken symlinks when loading certificates using
+    mbedtls_x509_crt_parse_path(). Instead of returning an error as soon as a
+    broken link is encountered, skip the broken link and continue parsing
+    other certificate files. Contributed by Eduardo Silva in #2602.
+  * Fix a compilation error when using CMake with an IAR toolchain.
+    Fixes #5964.
+  * Fix bugs and missing dependencies when building and testing
+    configurations with only one encryption type enabled in TLS 1.2.
+  * Provide the missing definition of mbedtls_setbuf() in some configurations
+    with MBEDTLS_PLATFORM_C disabled. Fixes #6118, #6196.
+  * Fix compilation errors when trying to build with
+    PSA drivers for AEAD (GCM, CCM, Chacha20-Poly1305).
+  * Fix memory leak in ssl_parse_certificate_request() caused by
+    mbedtls_x509_get_name() not freeing allocated objects in case of error.
+    Change mbedtls_x509_get_name() to clean up allocated objects on error.
+  * Fix checks on PK in check_config.h for builds with PSA and RSA. This does
+    not change which builds actually work, only moving a link-time error to
+    an early check.
+  * Fix ECDSA verification, where it was not always validating the
+    public key. This bug meant that it was possible to verify a
+    signature with an invalid public key, in some cases. Reported by
+    Guido Vranken using Cryptofuzz in #4420.
+  * Fix a possible null pointer dereference if a memory allocation fails
+    in TLS PRF code. Reported by Michael Madsen in #6516.
+  * Fix a bug in which mbedtls_x509_crt_info() would produce non-printable
+    bytes when parsing certificates containing a binary RFC 4108
+    HardwareModuleName as a Subject Alternative Name extension. Hardware
+    serial numbers are now rendered in hex format. Fixes #6262.
+  * Fix bug in error reporting in dh_genprime.c where upon failure,
+    the error code returned by mbedtls_mpi_write_file() is overwritten
+    and therefore not printed.
+  * In the bignum module, operations of the form (-A) - (+A) or (-A) - (-A)
+    with A > 0 created an unintended representation of the value 0 which was
+    not processed correctly by some bignum operations. Fix this. This had no
+    consequence on cryptography code, but might affect applications that call
+    bignum directly and use negative numbers.
+  * Fix undefined behavior (typically harmless in practice) of
+    mbedtls_mpi_add_mpi(), mbedtls_mpi_add_abs() and mbedtls_mpi_add_int()
+    when both operands are 0 and the left operand is represented with 0 limbs.
+  * Fix undefined behavior (typically harmless in practice) when some bignum
+    functions receive the most negative value of mbedtls_mpi_sint. Credit
+    to OSS-Fuzz. Fixes #6597.
+  * Fix undefined behavior (typically harmless in practice) in PSA ECB
+    encryption and decryption.
+
+-------------------------------------------------------------------
 Fri Nov  4 16:53:36 UTC 2022 - Mia Herkt <mia@0x0.st>
 
 - Update to 2.28.1: (CVE-2022-35409)
Index: mbedtls.spec
===================================================================
--- mbedtls.spec (revision 36)
+++ mbedtls.spec (revision 2)
@@ -20,7 +20,7 @@
 %define lib_crypto libmbedcrypto7
 %define lib_x509   libmbedx509-1
 Name:           mbedtls
-Version:        2.28.1
+Version:        2.28.2
 Release:        0
 Summary:        Libraries for crypto and SSL/TLS protocols
 License:        Apache-2.0
Index: mbedtls-2.28.2.tar.gz
===================================================================
Binary file mbedtls-2.28.2.tar.gz (revision 2) added
Index: mbedtls-2.28.1.tar.gz
===================================================================
Binary file mbedtls-2.28.1.tar.gz (revision 36) deleted

OBS-URL: https://build.opensuse.org/request/show/1044072
OBS-URL: https://build.opensuse.org/package/show/security:tls/mbedtls?expand=0&rev=37
2022-12-22 08:29:32 +00:00

153 lines
4.9 KiB
RPMSpec

#
# spec file for package mbedtls
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define lib_tls libmbedtls14
%define lib_crypto libmbedcrypto7
%define lib_x509 libmbedx509-1
Name: mbedtls
Version: 2.28.2
Release: 0
Summary: Libraries for crypto and SSL/TLS protocols
License: Apache-2.0
Group: Development/Libraries/C and C++
URL: https://tls.mbed.org
Source: https://github.com/ARMmbed/mbedtls/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source99: baselibs.conf
BuildRequires: cmake
BuildRequires: ninja
BuildRequires: pkgconfig
BuildRequires: pkgconfig(libpkcs11-helper-1)
BuildRequires: pkgconfig(zlib)
%description
mbedtls implements the SSL3, TLS 1.0, 1.1 and 1.2 protocols. It
supports a number of extensions such as SSL Session Tickets (RFC
5077), Server Name Indication (SNI) (RFC 6066), Truncated HMAC (RFC
6066), Max Fragment Length (RFC 6066), Secure Renegotiation (RFC
5746) and Application Layer Protocol Negotiation (ALPN). It
understands the RSA, (EC)DH(E)-RSA, (EC)DH(E)-PSK and RSA-PSK key
exchanges.
%package -n %{lib_tls}
Summary: Transport Layer Security protocol suite
Group: System/Libraries
%description -n %{lib_tls}
mbedtls implements the SSL 3.0, TLS 1.0, 1.1 and 1.2 protocols. It
supports a number of extensions such as SSL Session Tickets (RFC
5077), Server Name Indication (SNI) (RFC 6066), Truncated HMAC (RFC
6066), Max Fragment Length (RFC 6066), Secure Renegotiation (RFC
5746) and Application Layer Protocol Negotiation (ALPN). It
understands the RSA, (EC)DH(E)-RSA, (EC)DH(E)-PSK and RSA-PSK key
exchanges.
%package -n %{lib_crypto}
Summary: Cryptographic base library for mbedtls
Group: System/Libraries
%description -n %{lib_crypto}
This subpackage of mbedtls contains a library that exposes
cryptographic ciphers, hashes, algorithms and format support such as
AES, MD5, SHA, Elliptic Curves, BigNum, PKCS, ASN.1, BASE64.
%package -n %{lib_x509}
Summary: Library to work with X.509 certificates
Group: System/Libraries
%description -n %{lib_x509}
This subpackage of mbedtls contains a library that can read, verify
and write X.509 certificates, read/write Certificate Signing Requests
and read Certificate Revocation Lists.
%package devel
Summary: Development files for mbedtls, a SSL/TLS library
Group: Development/Libraries/C and C++
Requires: %{lib_crypto} = %{version}
Requires: %{lib_tls} = %{version}
Requires: %{lib_x509} = %{version}
%description devel
This subpackage contains the development files for mbedtls,
a suite of libraries for cryptographic functions and the
SSL/TLS protocol suite.
%prep
%autosetup -p1
sed -i 's|//\(#define MBEDTLS_ZLIB_SUPPORT\)|\1|' include/mbedtls/config.h
sed -i 's|//\(#define MBEDTLS_HAVEGE_C\)|\1|' include/mbedtls/config.h
sed -i 's|//\(#define MBEDTLS_THREADING_C\)|\1|' include/mbedtls/config.h
sed -i 's|//\(#define MBEDTLS_THREADING_PTHREAD\)|\1|' include/mbedtls/config.h
%build
%define __builder ninja
export CFLAGS="%{optflags} -Wno-stringop-overflow -Wno-maybe-uninitialized"
export CXXLAGS="%{optflags} -Wno-stringop-overflow -Wno-maybe-uninitialized"
%cmake \
-DUNSAFE_BUILD=ON \
-DLINK_WITH_PTHREAD=ON \
-DUSE_PKCS11_HELPER_LIBRARY=ON \
-DENABLE_ZLIB_SUPPORT=ON \
-DINSTALL_MBEDTLS_HEADERS=ON \
-DUSE_SHARED_MBEDTLS_LIBRARY=ON \
-DUSE_STATIC_MBEDTLS_LIBRARY=OFF \
-DENABLE_PROGRAMS=OFF \
-DCMAKE_POLICY_DEFAULT_CMP0012=NEW
%cmake_build
%install
%cmake_install
%check
# parallel execution fails
# %%ctest
pushd build
LD_LIBRARY_PATH=%{buildroot}%{_libdir} \
%{_bindir}/ctest --output-on-failure --force-new-ctest-process -j1
%post -n %{lib_tls} -p /sbin/ldconfig
%post -n %{lib_crypto} -p /sbin/ldconfig
%post -n %{lib_x509} -p /sbin/ldconfig
%postun -n %{lib_tls} -p /sbin/ldconfig
%postun -n %{lib_crypto} -p /sbin/ldconfig
%postun -n %{lib_x509} -p /sbin/ldconfig
%files devel
%license LICENSE
%doc ChangeLog README.md
%dir %{_includedir}/mbedtls
%dir %{_includedir}/psa
%{_includedir}/mbedtls/*.h
%{_includedir}/psa/*.h
%{_libdir}/libmbedtls.so
%{_libdir}/libmbedcrypto.so
%{_libdir}/libmbedx509.so
%files -n %{lib_tls}
%license LICENSE
%{_libdir}/libmbedtls.so.*
%files -n %{lib_crypto}
%license LICENSE
%{_libdir}/libmbedcrypto.so.*
%files -n %{lib_x509}
%license LICENSE
%{_libdir}/libmbedx509.so.*
%changelog