Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

suse-cvrf логотип

SUSE-SU-2023:4287-2

Опубликовано: 02 нояб. 2023
Источник: suse-cvrf

Описание

Security update for gcc13

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.

Список пакетов

SUSE Linux Enterprise Module for Toolchain 12
cpp13-13.2.1+git7813-1.6.1
cross-nvptx-gcc13-13.2.1+git7813-1.6.1
cross-nvptx-newlib13-devel-13.2.1+git7813-1.6.1
gcc13-13.2.1+git7813-1.6.1
gcc13-32bit-13.2.1+git7813-1.6.1
gcc13-PIE-13.2.1+git7813-1.6.1
gcc13-c++-13.2.1+git7813-1.6.1
gcc13-c++-32bit-13.2.1+git7813-1.6.1
gcc13-fortran-13.2.1+git7813-1.6.1
gcc13-fortran-32bit-13.2.1+git7813-1.6.1
gcc13-info-13.2.1+git7813-1.6.1
gcc13-locale-13.2.1+git7813-1.6.1
libstdc++6-devel-gcc13-13.2.1+git7813-1.6.1
libstdc++6-devel-gcc13-32bit-13.2.1+git7813-1.6.1
SUSE Linux Enterprise Server 12 SP5
libasan8-13.2.1+git7813-1.6.1
libasan8-32bit-13.2.1+git7813-1.6.1
libatomic1-13.2.1+git7813-1.6.1
libatomic1-32bit-13.2.1+git7813-1.6.1
libgcc_s1-13.2.1+git7813-1.6.1
libgcc_s1-32bit-13.2.1+git7813-1.6.1
libgfortran5-13.2.1+git7813-1.6.1
libgfortran5-32bit-13.2.1+git7813-1.6.1
libgomp1-13.2.1+git7813-1.6.1
libgomp1-32bit-13.2.1+git7813-1.6.1
libhwasan0-13.2.1+git7813-1.6.1
libitm1-13.2.1+git7813-1.6.1
libitm1-32bit-13.2.1+git7813-1.6.1
liblsan0-13.2.1+git7813-1.6.1
libobjc4-13.2.1+git7813-1.6.1
libobjc4-32bit-13.2.1+git7813-1.6.1
libquadmath0-13.2.1+git7813-1.6.1
libquadmath0-32bit-13.2.1+git7813-1.6.1
libstdc++6-13.2.1+git7813-1.6.1
libstdc++6-32bit-13.2.1+git7813-1.6.1
libstdc++6-locale-13.2.1+git7813-1.6.1
libstdc++6-pp-13.2.1+git7813-1.6.1
libstdc++6-pp-32bit-13.2.1+git7813-1.6.1
libtsan2-13.2.1+git7813-1.6.1
libubsan1-13.2.1+git7813-1.6.1
libubsan1-32bit-13.2.1+git7813-1.6.1
SUSE Linux Enterprise Server for SAP Applications 12 SP5
libasan8-13.2.1+git7813-1.6.1
libasan8-32bit-13.2.1+git7813-1.6.1
libatomic1-13.2.1+git7813-1.6.1
libatomic1-32bit-13.2.1+git7813-1.6.1
libgcc_s1-13.2.1+git7813-1.6.1
libgcc_s1-32bit-13.2.1+git7813-1.6.1
libgfortran5-13.2.1+git7813-1.6.1
libgfortran5-32bit-13.2.1+git7813-1.6.1
libgomp1-13.2.1+git7813-1.6.1
libgomp1-32bit-13.2.1+git7813-1.6.1
libhwasan0-13.2.1+git7813-1.6.1
libitm1-13.2.1+git7813-1.6.1
libitm1-32bit-13.2.1+git7813-1.6.1
liblsan0-13.2.1+git7813-1.6.1
libobjc4-13.2.1+git7813-1.6.1
libobjc4-32bit-13.2.1+git7813-1.6.1
libquadmath0-13.2.1+git7813-1.6.1
libquadmath0-32bit-13.2.1+git7813-1.6.1
libstdc++6-13.2.1+git7813-1.6.1
libstdc++6-32bit-13.2.1+git7813-1.6.1
libstdc++6-locale-13.2.1+git7813-1.6.1
libstdc++6-pp-13.2.1+git7813-1.6.1
libstdc++6-pp-32bit-13.2.1+git7813-1.6.1
libtsan2-13.2.1+git7813-1.6.1
libubsan1-13.2.1+git7813-1.6.1
libubsan1-32bit-13.2.1+git7813-1.6.1

Описание

A failure in the -fstack-protector feature in GCC-based toolchains that target AArch64 allows an attacker to exploit an existing buffer overflow in dynamically-sized local variables in your application without this being detected. This stack-protector failure only applies to C99-style dynamically-sized local variables or those created using alloca(). The stack-protector operates as intended for statically-sized local variables. The default behavior when the stack-protector detects an overflow is to terminate your application, resulting in controlled loss of availability. An attacker who can exploit a buffer overflow without triggering the stack-protector might be able to change program flow control to cause an uncontrolled loss of availability or to go further and affect confidentiality or integrity.


Затронутые продукты
SUSE Linux Enterprise Module for Toolchain 12:cpp13-13.2.1+git7813-1.6.1
SUSE Linux Enterprise Module for Toolchain 12:cross-nvptx-gcc13-13.2.1+git7813-1.6.1
SUSE Linux Enterprise Module for Toolchain 12:cross-nvptx-newlib13-devel-13.2.1+git7813-1.6.1
SUSE Linux Enterprise Module for Toolchain 12:gcc13-13.2.1+git7813-1.6.1

Ссылки