Security update for gcc13

Announcement ID: SUSE-SU-2023:4287-2
Rating: important
References:
Cross-References:
CVSS scores:
  • CVE-2023-4039 ( SUSE ): 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
  • CVE-2023-4039 ( NVD ): 4.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
Affected Products:
  • SUSE Linux Enterprise High Performance Computing 12 SP2
  • SUSE Linux Enterprise High Performance Computing 12 SP3
  • SUSE Linux Enterprise High Performance Computing 12 SP4
  • SUSE Linux Enterprise High Performance Computing 12 SP5
  • SUSE Linux Enterprise Server 12
  • SUSE Linux Enterprise Server 12 SP1
  • SUSE Linux Enterprise Server 12 SP2
  • SUSE Linux Enterprise Server 12 SP3
  • SUSE Linux Enterprise Server 12 SP4
  • SUSE Linux Enterprise Server 12 SP5
  • SUSE Linux Enterprise Server for SAP Applications 12
  • SUSE Linux Enterprise Server for SAP Applications 12 SP1
  • SUSE Linux Enterprise Server for SAP Applications 12 SP2
  • SUSE Linux Enterprise Server for SAP Applications 12 SP3
  • SUSE Linux Enterprise Server for SAP Applications 12 SP4
  • SUSE Linux Enterprise Server for SAP Applications 12 SP5
  • Toolchain Module 12

An update that solves one vulnerability, contains five features and has seven security fixes can now be installed.

Description:

This update for gcc13 fixes the following issues:

NOTE: This update was retracted as it caused breakage with third party applications.

This update ship the GCC 13.2 compiler suite and its base libraries.

The compiler base libraries are provided for all SUSE Linux Enterprise 15 versions and replace the same named GCC 12 ones.

The new compilers for C, C++, and Fortran are provided for SUSE Linux Enterprise 15 SP4 and SP5, and provided in the "Development Tools" module.

The Go, D, Ada and Modula 2 language compiler parts are available unsupported via the PackageHub repositories.

To use gcc13 compilers use:

  • install "gcc13" or "gcc13-c++" or one of the other "gcc13-COMPILER" frontend packages.
  • override your Makefile to use CC=gcc-13, CXX=g++-13 and similar overrides for the other languages.

For a full changelog with all new GCC13 features, check out

    https://gcc.gnu.org/gcc-13/changes.html

Detailed changes:

  • CVE-2023-4039: Fixed -fstack-protector issues on aarch64 with variable length stack allocations. (bsc#1214052)

  • Turn cross compiler to s390x to a glibc cross. [bsc#1214460]

  • Also handle -static-pie in the default-PIE specs

  • Fixed missed optimization in Skia resulting in Firefox crashes when building with LTO. [bsc#1212101]
  • Make libstdc++6-devel packages own their directories since they can be installed standalone. [bsc#1211427]
  • Add new x86-related intrinsics (amxcomplexintrin.h).
  • RISC-V: Add support for inlining subword atomic operations
  • Use --enable-link-serialization rather that --enable-link-mutex, the benefit of the former one is that the linker jobs are not holding tokens of the make's jobserver.
  • Add cross-bpf packages. See https://gcc.gnu.org/wiki/BPFBackEnd for the general state of BPF with GCC.
  • Add bootstrap conditional to allow --without=bootstrap to be specified to speed up local builds for testing.
  • Bump included newlib to version 4.3.0.
  • Also package libhwasan_preinit.o on aarch64.
  • Configure external timezone database provided by the timezone package. Make libstdc++6 recommend timezone to get a fully working std::chrono. Install timezone when running the testsuite.
  • Package libhwasan_preinit.o on x86_64.
  • Fixed unwinding on aarch64 with pointer signing. [bsc#1206684]
  • Enable PRU flavour for gcc13
  • update floatn fixinclude pickup to check each header separately (bsc#1206480)
  • Redo floatn fixinclude pick-up to simply keep what is there.
  • Bump libgo SONAME to libgo22.
  • Do not package libhwasan for biarch (32-bit architecture) as the extension depends on 64-bit pointers.
  • Adjust floatn fixincludes guard to work with SLE12 and earlier SLE15.
  • Depend on at least LLVM 13 for GCN cross compiler.
  • Update embedded newlib to version 4.2.0
  • Allow cross-pru-gcc12-bootstrap for armv7l architecture. PRU architecture is used for real-time MCUs embedded into TI armv7l and aarch64 SoCs. We need to have cross-pru-gcc12 for armv7l in order to build both host applications and PRU firmware during the same build.

Patch Instructions:

To install this SUSE update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:

  • Toolchain Module 12
    zypper in -t patch SUSE-SLE-Module-Toolchain-12-2023-4287=1
  • SUSE Linux Enterprise High Performance Computing 12 SP5
    zypper in -t patch SUSE-SLE-SERVER-12-SP5-2023-4287=1
  • SUSE Linux Enterprise Server 12 SP5
    zypper in -t patch SUSE-SLE-SERVER-12-SP5-2023-4287=1
  • SUSE Linux Enterprise Server for SAP Applications 12 SP5
    zypper in -t patch SUSE-SLE-SERVER-12-SP5-2023-4287=1

Package List:

  • Toolchain Module 12 (aarch64 ppc64le s390x x86_64)
    • gcc13-debugsource-13.2.1+git7813-1.6.1
    • gcc13-fortran-debuginfo-13.2.1+git7813-1.6.1
    • gcc13-c++-debuginfo-13.2.1+git7813-1.6.1
    • gcc13-fortran-13.2.1+git7813-1.6.1
    • gcc13-debuginfo-13.2.1+git7813-1.6.1
    • libstdc++6-devel-gcc13-13.2.1+git7813-1.6.1
    • gcc13-locale-13.2.1+git7813-1.6.1
    • gcc13-c++-13.2.1+git7813-1.6.1
    • cpp13-debuginfo-13.2.1+git7813-1.6.1
    • cpp13-13.2.1+git7813-1.6.1
    • gcc13-13.2.1+git7813-1.6.1
    • gcc13-PIE-13.2.1+git7813-1.6.1
  • Toolchain Module 12 (noarch)
    • gcc13-info-13.2.1+git7813-1.6.1
  • Toolchain Module 12 (s390x x86_64)
    • gcc13-32bit-13.2.1+git7813-1.6.1
    • gcc13-fortran-32bit-13.2.1+git7813-1.6.1
    • gcc13-c++-32bit-13.2.1+git7813-1.6.1
    • libstdc++6-devel-gcc13-32bit-13.2.1+git7813-1.6.1
  • Toolchain Module 12 (x86_64)
    • cross-nvptx-gcc13-debuginfo-13.2.1+git7813-1.6.1
    • cross-nvptx-gcc13-debugsource-13.2.1+git7813-1.6.1
    • cross-nvptx-newlib13-devel-13.2.1+git7813-1.6.1
    • cross-nvptx-gcc13-13.2.1+git7813-1.6.1
  • SUSE Linux Enterprise High Performance Computing 12 SP5 (aarch64 x86_64)
    • libgfortran5-13.2.1+git7813-1.6.1
    • libstdc++6-13.2.1+git7813-1.6.1
    • liblsan0-debuginfo-13.2.1+git7813-1.6.1
    • libstdc++6-debuginfo-13.2.1+git7813-1.6.1
    • libatomic1-13.2.1+git7813-1.6.1
    • libobjc4-debuginfo-13.2.1+git7813-1.6.1
    • libhwasan0-13.2.1+git7813-1.6.1
    • libatomic1-debuginfo-13.2.1+git7813-1.6.1
    • libgfortran5-debuginfo-13.2.1+git7813-1.6.1
    • libtsan2-debuginfo-13.2.1+git7813-1.6.1
    • libgomp1-13.2.1+git7813-1.6.1
    • libasan8-13.2.1+git7813-1.6.1
    • libhwasan0-debuginfo-13.2.1+git7813-1.6.1
    • libitm1-debuginfo-13.2.1+git7813-1.6.1
    • libobjc4-13.2.1+git7813-1.6.1
    • libgcc_s1-13.2.1+git7813-1.6.1
    • libubsan1-13.2.1+git7813-1.6.1
    • libubsan1-debuginfo-13.2.1+git7813-1.6.1
    • libstdc++6-pp-13.2.1+git7813-1.6.1
    • libgcc_s1-debuginfo-13.2.1+git7813-1.6.1
    • liblsan0-13.2.1+git7813-1.6.1
    • libitm1-13.2.1+git7813-1.6.1
    • libstdc++6-locale-13.2.1+git7813-1.6.1
    • libtsan2-13.2.1+git7813-1.6.1
    • libgomp1-debuginfo-13.2.1+git7813-1.6.1
    • libasan8-debuginfo-13.2.1+git7813-1.6.1
  • SUSE Linux Enterprise High Performance Computing 12 SP5 (x86_64)
    • libgcc_s1-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libstdc++6-32bit-13.2.1+git7813-1.6.1
    • libatomic1-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libquadmath0-32bit-13.2.1+git7813-1.6.1
    • libgomp1-32bit-13.2.1+git7813-1.6.1
    • libitm1-32bit-13.2.1+git7813-1.6.1
    • libitm1-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libobjc4-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libobjc4-32bit-13.2.1+git7813-1.6.1
    • libubsan1-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libubsan1-32bit-13.2.1+git7813-1.6.1
    • libgfortran5-32bit-13.2.1+git7813-1.6.1
    • libquadmath0-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libgomp1-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libquadmath0-13.2.1+git7813-1.6.1
    • libstdc++6-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libatomic1-32bit-13.2.1+git7813-1.6.1
    • libasan8-32bit-13.2.1+git7813-1.6.1
    • libgfortran5-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libgcc_s1-32bit-13.2.1+git7813-1.6.1
    • libquadmath0-debuginfo-13.2.1+git7813-1.6.1
    • libstdc++6-pp-32bit-13.2.1+git7813-1.6.1
    • libasan8-32bit-debuginfo-13.2.1+git7813-1.6.1
  • SUSE Linux Enterprise Server 12 SP5 (aarch64 ppc64le s390x x86_64)
    • libgfortran5-13.2.1+git7813-1.6.1
    • libstdc++6-13.2.1+git7813-1.6.1
    • liblsan0-debuginfo-13.2.1+git7813-1.6.1
    • libstdc++6-debuginfo-13.2.1+git7813-1.6.1
    • libatomic1-13.2.1+git7813-1.6.1
    • libobjc4-debuginfo-13.2.1+git7813-1.6.1
    • libatomic1-debuginfo-13.2.1+git7813-1.6.1
    • libgfortran5-debuginfo-13.2.1+git7813-1.6.1
    • libtsan2-debuginfo-13.2.1+git7813-1.6.1
    • libgomp1-13.2.1+git7813-1.6.1
    • libasan8-13.2.1+git7813-1.6.1
    • libitm1-debuginfo-13.2.1+git7813-1.6.1
    • libobjc4-13.2.1+git7813-1.6.1
    • libgcc_s1-13.2.1+git7813-1.6.1
    • libubsan1-13.2.1+git7813-1.6.1
    • libubsan1-debuginfo-13.2.1+git7813-1.6.1
    • libstdc++6-pp-13.2.1+git7813-1.6.1
    • libgcc_s1-debuginfo-13.2.1+git7813-1.6.1
    • liblsan0-13.2.1+git7813-1.6.1
    • libitm1-13.2.1+git7813-1.6.1
    • libstdc++6-locale-13.2.1+git7813-1.6.1
    • libtsan2-13.2.1+git7813-1.6.1
    • libgomp1-debuginfo-13.2.1+git7813-1.6.1
    • libasan8-debuginfo-13.2.1+git7813-1.6.1
  • SUSE Linux Enterprise Server 12 SP5 (aarch64 x86_64)
    • libhwasan0-debuginfo-13.2.1+git7813-1.6.1
    • libhwasan0-13.2.1+git7813-1.6.1
  • SUSE Linux Enterprise Server 12 SP5 (ppc64le x86_64)
    • libquadmath0-13.2.1+git7813-1.6.1
    • libquadmath0-debuginfo-13.2.1+git7813-1.6.1
  • SUSE Linux Enterprise Server 12 SP5 (s390x x86_64)
    • libobjc4-32bit-13.2.1+git7813-1.6.1
    • libasan8-32bit-13.2.1+git7813-1.6.1
    • libubsan1-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libgomp1-32bit-13.2.1+git7813-1.6.1
    • libgfortran5-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libubsan1-32bit-13.2.1+git7813-1.6.1
    • libitm1-32bit-13.2.1+git7813-1.6.1
    • libgcc_s1-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libgfortran5-32bit-13.2.1+git7813-1.6.1
    • libgomp1-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libitm1-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libgcc_s1-32bit-13.2.1+git7813-1.6.1
    • libstdc++6-32bit-13.2.1+git7813-1.6.1
    • libatomic1-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libstdc++6-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libstdc++6-pp-32bit-13.2.1+git7813-1.6.1
    • libatomic1-32bit-13.2.1+git7813-1.6.1
    • libasan8-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libobjc4-32bit-debuginfo-13.2.1+git7813-1.6.1
  • SUSE Linux Enterprise Server 12 SP5 (x86_64)
    • libquadmath0-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libquadmath0-32bit-13.2.1+git7813-1.6.1
  • SUSE Linux Enterprise Server for SAP Applications 12 SP5 (ppc64le x86_64)
    • libgfortran5-13.2.1+git7813-1.6.1
    • libstdc++6-13.2.1+git7813-1.6.1
    • liblsan0-debuginfo-13.2.1+git7813-1.6.1
    • libstdc++6-debuginfo-13.2.1+git7813-1.6.1
    • libatomic1-13.2.1+git7813-1.6.1
    • libobjc4-debuginfo-13.2.1+git7813-1.6.1
    • libatomic1-debuginfo-13.2.1+git7813-1.6.1
    • libgfortran5-debuginfo-13.2.1+git7813-1.6.1
    • libtsan2-debuginfo-13.2.1+git7813-1.6.1
    • libgomp1-13.2.1+git7813-1.6.1
    • libasan8-13.2.1+git7813-1.6.1
    • libitm1-debuginfo-13.2.1+git7813-1.6.1
    • libobjc4-13.2.1+git7813-1.6.1
    • libgcc_s1-13.2.1+git7813-1.6.1
    • libubsan1-13.2.1+git7813-1.6.1
    • libubsan1-debuginfo-13.2.1+git7813-1.6.1
    • libstdc++6-pp-13.2.1+git7813-1.6.1
    • libgcc_s1-debuginfo-13.2.1+git7813-1.6.1
    • liblsan0-13.2.1+git7813-1.6.1
    • libitm1-13.2.1+git7813-1.6.1
    • libstdc++6-locale-13.2.1+git7813-1.6.1
    • libquadmath0-13.2.1+git7813-1.6.1
    • libtsan2-13.2.1+git7813-1.6.1
    • libgomp1-debuginfo-13.2.1+git7813-1.6.1
    • libasan8-debuginfo-13.2.1+git7813-1.6.1
    • libquadmath0-debuginfo-13.2.1+git7813-1.6.1
  • SUSE Linux Enterprise Server for SAP Applications 12 SP5 (x86_64)
    • libgcc_s1-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libstdc++6-32bit-13.2.1+git7813-1.6.1
    • libhwasan0-13.2.1+git7813-1.6.1
    • libatomic1-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libquadmath0-32bit-13.2.1+git7813-1.6.1
    • libgomp1-32bit-13.2.1+git7813-1.6.1
    • libhwasan0-debuginfo-13.2.1+git7813-1.6.1
    • libitm1-32bit-13.2.1+git7813-1.6.1
    • libitm1-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libobjc4-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libobjc4-32bit-13.2.1+git7813-1.6.1
    • libubsan1-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libubsan1-32bit-13.2.1+git7813-1.6.1
    • libgfortran5-32bit-13.2.1+git7813-1.6.1
    • libquadmath0-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libgomp1-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libstdc++6-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libatomic1-32bit-13.2.1+git7813-1.6.1
    • libasan8-32bit-13.2.1+git7813-1.6.1
    • libgfortran5-32bit-debuginfo-13.2.1+git7813-1.6.1
    • libgcc_s1-32bit-13.2.1+git7813-1.6.1
    • libstdc++6-pp-32bit-13.2.1+git7813-1.6.1
    • libasan8-32bit-debuginfo-13.2.1+git7813-1.6.1

References: