openSUSE Security Update: Security update for binutils
______________________________________________________________________________

Announcement ID:    openSUSE-SU-2021:1475-1
Rating:             moderate
References:         #1179898 #1179899 #1179900 #1179901 #1179902 
                    #1179903 #1180451 #1180454 #1180461 #1181452 
                    #1182252 #1183511 #1183909 #1184519 #1184620 
                    #1184794 #1188941 #1191473 #1192267 PM-2767 
                    SLE-18637 SLE-19618 SLE-21561 
Cross-References:   CVE-2020-16590 CVE-2020-16591 CVE-2020-16592
                    CVE-2020-16593 CVE-2020-16598 CVE-2020-16599
                    CVE-2020-35448 CVE-2020-35493 CVE-2020-35496
                    CVE-2020-35507 CVE-2021-20197 CVE-2021-20284
                    CVE-2021-20294 CVE-2021-3487
CVSS scores:
                    CVE-2020-16590 (NVD) : 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2020-16590 (SUSE): 4 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
                    CVE-2020-16591 (NVD) : 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2020-16591 (SUSE): 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2020-16592 (NVD) : 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2020-16592 (SUSE): 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2020-16593 (NVD) : 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2020-16593 (SUSE): 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2020-16598 (NVD) : 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2020-16598 (SUSE): 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2020-16599 (NVD) : 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2020-16599 (SUSE): 4 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
                    CVE-2020-35448 (NVD) : 3.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
                    CVE-2020-35448 (SUSE): 3.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
                    CVE-2020-35493 (NVD) : 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2020-35493 (SUSE): 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2020-35496 (NVD) : 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2020-35496 (SUSE): 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2020-35507 (NVD) : 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2020-35507 (SUSE): 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2021-20197 (NVD) : 6.3 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
                    CVE-2021-20197 (SUSE): 6.3 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
                    CVE-2021-20284 (NVD) : 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2021-20284 (SUSE): 4.7 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2021-20294 (NVD) : 7.8 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
                    CVE-2021-20294 (SUSE): 7 CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
                    CVE-2021-3487 (NVD) : 6.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
                    CVE-2021-3487 (SUSE): 5.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Affected Products:
                    openSUSE Leap 15.2
______________________________________________________________________________

   An update that solves 14 vulnerabilities, contains four
   features and has 5 fixes is now available.

Description:

   This update for binutils fixes the following issues:

   Update to binutils 2.37:

   * The GNU Binutils sources now requires a C99 compiler and library to
     build.
   * Support for Realm Management Extension (RME) for AArch64 has been added.
   * A new linker option '-z report-relative-reloc' for x86 ELF targets has
     been added to report dynamic relative relocations.
   * A new linker option '-z start-stop-gc' has been added to disable special
     treatment of __start_*/__stop_* references when
     --gc-sections.
   * A new linker options '-Bno-symbolic' has been added which will cancel
     the '-Bsymbolic' and '-Bsymbolic-functions' options.
   * The readelf tool has a new command line option which can be used to
     specify how the numeric values of symbols are reported.
     --sym-base=0|8|10|16 tells readelf to display the values in base 8, base
      10 or base 16.  A sym base of 0 represents the default action
     of displaying values under 10000 in base 10 and values above that in
      base 16.
   * A new format has been added to the nm program.  Specifying
     '--format=just-symbols' (or just using -j) will tell the program to
     only display symbol names and nothing else.
   * A new command line option '--keep-section-symbols' has been added to
     objcopy and strip.  This stops the removal of unused section symbols
      when the file is copied.  Removing these symbols saves space, but
      sometimes they are needed by other tools.
   * The '--weaken', '--weaken-symbol' and '--weaken-symbols' options
     supported by objcopy now make undefined symbols weak on targets that
     support weak symbols.
   * Readelf and objdump can now display and use the contents of .debug_sup
     sections.
   * Readelf and objdump will now follow links to separate debug info files
     by default.  This behaviour can be stopped via the use of the new '-wN'
     or '--debug-dump=no-follow-links' options for readelf and the '-WN' or
     '--dwarf=no-follow-links' options for objdump.  Also the old behaviour
     can be restored by the use of the '--enable-follow-debug-links=no'
     configure time option.

     The semantics of the =follow-links option have also been slightly
   changed.  When enabled, the option allows for the loading of symbol tables
   and string tables from the separate files which can be used to enhance the
   information displayed when dumping other sections, but it does not
   automatically imply that information from the separate files should be
   displayed.

     If other debug section display options are also enabled (eg
   '--debug-dump=info') then the contents of matching sections in both the
   main file and the separate debuginfo file *will* be displayed. This is
   because in most cases the debug section will only be present in one of the
   files.

     If however non-debug section display options are enabled (eg
   '--sections') then the contents of matching parts of the separate
   debuginfo file will *not* be displayed.  This is because in most cases the
   user probably only wanted to load the symbol information from the separate
   debuginfo file.  In order to change this behaviour a new command line
   option --process-links can be used.  This will allow di0pslay options to
   applied to both the main file and any separate debuginfo files.

   * Nm has a new command line option: '--quiet'.  This suppresses "no
     symbols" diagnostic.

   Update to binutils 2.36:

   New features in the Assembler:

   - General:

      * When setting the link order attribute of ELF sections, it is now
        possible to use a numeric section index instead of symbol name.
      * Added a .nop directive to generate a single no-op instruction in a
        target neutral manner.  This instruction does have an effect on DWARF
        line number generation, if that is active.
      * Removed --reduce-memory-overheads and --hash-size as gas now uses
        hash tables that can be expand and shrink automatically.

   - X86/x86_64:

      * Add support for AVX VNNI, HRESET, UINTR, TDX, AMX and Key Locker
        instructions.
      * Support non-absolute segment values for lcall and ljmp.
      * Add {disp16} pseudo prefix to x86 assembler.
      * Configure with --enable-x86-used-note by default for Linux/x86.

   -  ARM/AArch64:

      * Add support for Cortex-A78, Cortex-A78AE and Cortex-X1, Cortex-R82,
        Neoverse V1, and Neoverse N2 cores.
      * Add support for ETMv4 (Embedded Trace Macrocell), ETE (Embedded Trace
        Extension), TRBE (Trace Buffer Extension), CSRE (Call Stack Recorder
        Extension) and BRBE (Branch Record Buffer Extension) system registers.
      * Add support for Armv8-R and Armv8.7-A ISA extensions.
      * Add support for DSB memory nXS barrier, WFET and WFIT instruction for
        Armv8.7.
      * Add support for +csre feature for -march. Add CSR PDEC instruction
        for CSRE feature in AArch64.
      * Add support for +flagm feature for -march in Armv8.4 AArch64.
      * Add support for +ls64 feature for -march in Armv8.7 AArch64. Add
        atomic 64-byte load/store instructions for this feature.
      * Add support for +pauth (Pointer Authentication) feature for
        -march in AArch64.

   New features in the Linker:

     * Add --error-handling-script= command line option to allow a
       helper script to be invoked when an undefined symbol or a missing
       library is encountered.  This option can be suppressed via the
       configure time switch: --enable-error-handling-script=no.
     * Add -z x86-64-{baseline|v[234]} to the x86 ELF linker to mark
       x86-64-{baseline|v[234]} ISA level as needed.
     * Add -z unique-symbol to avoid duplicated local symbol names.
     * The creation of PE format DLLs now defaults to using a more secure set
       of DLL characteristics.
     * The linker now deduplicates the types in .ctf sections.  The new
       command-line option --ctf-share-types describes how to do this: its
       default value, share-unconflicted, produces the most compact
        output.
     * The linker now omits the "variable section" from .ctf sections by
       default, saving space.  This is almost certainly what you want unless
       you are working on a project that has its own analogue of symbol
       tables that are not reflected in the ELF symtabs.

   New features in other binary tools:

     * The ar tool's previously unused l modifier is now used for specifying
       dependencies of a static library. The arguments of this option (or
       --record-libdeps long form option) will be stored verbatim in the
       __.LIBDEP member of the archive, which the linker may read at link
       time.
     * Readelf can now display the contents of LTO symbol table sections when
       asked to do so via the --lto-syms command line
       option.
     * Readelf now accepts the -C command line option to enable the
       demangling of symbol names.  In addition the --demangle=

openSUSE: 2021:1475-1 moderate: binutils

November 15, 2021
An update that solves 14 vulnerabilities, contains four features and has 5 fixes is now available

Description

This update for binutils fixes the following issues: Update to binutils 2.37: * The GNU Binutils sources now requires a C99 compiler and library to build. * Support for Realm Management Extension (RME) for AArch64 has been added. * A new linker option '-z report-relative-reloc' for x86 ELF targets has been added to report dynamic relative relocations. * A new linker option '-z start-stop-gc' has been added to disable special treatment of __start_*/__stop_* references when --gc-sections. * A new linker options '-Bno-symbolic' has been added which will cancel the '-Bsymbolic' and '-Bsymbolic-functions' options. * The readelf tool has a new command line option which can be used to specify how the numeric values of symbols are reported. --sym-base=0|8|10|16 tells readelf to display the values in base 8, base 10 or base 16. A sym base of 0 represents the default action of displaying values under 10000 in base 10 and values above that in base 16. * A new format has been added to the nm program. Specifying '--format=just-symbols' (or just using -j) will tell the program to only display symbol names and nothing else. * A new command line option '--keep-section-symbols' has been added to objcopy and strip. This stops the removal of unused section symbols when the file is copied. Removing these symbols saves space, but sometimes they are needed by other tools. * The '--weaken', '--weaken-symbol' and '--weaken-symbols' options supported by objcopy now make undefined symbols weak on targets that support weak symbols. * Readelf and objdump can now display and use the contents of .debug_sup sections. * Readelf and objdump will now follow links to separate debug info files by default. This behaviour can be stopped via the use of the new '-wN' or '--debug-dump=no-follow-links' options for readelf and the '-WN' or '--dwarf=no-follow-links' options for objdump. Also the old behaviour can be restored by the use of the '--enable-follow-debug-links=no' configure time option. The semantics of the =follow-links option have also been slightly changed. When enabled, the option allows for the loading of symbol tables and string tables from the separate files which can be used to enhance the information displayed when dumping other sections, but it does not automatically imply that information from the separate files should be displayed. If other debug section display options are also enabled (eg '--debug-dump=info') then the contents of matching sections in both the main file and the separate debuginfo file *will* be displayed. This is because in most cases the debug section will only be present in one of the files. If however non-debug section display options are enabled (eg '--sections') then the contents of matching parts of the separate debuginfo file will *not* be displayed. This is because in most cases the user probably only wanted to load the symbol information from the separate debuginfo file. In order to change this behaviour a new command line option --process-links can be used. This will allow di0pslay options to applied to both the main file and any separate debuginfo files. * Nm has a new command line option: '--quiet'. This suppresses "no symbols" diagnostic. Update to binutils 2.36: New features in the Assembler: - General: * When setting the link order attribute of ELF sections, it is now possible to use a numeric section index instead of symbol name. * Added a .nop directive to generate a single no-op instruction in a target neutral manner. This instruction does have an effect on DWARF line number generation, if that is active. * Removed --reduce-memory-overheads and --hash-size as gas now uses hash tables that can be expand and shrink automatically. - X86/x86_64: * Add support for AVX VNNI, HRESET, UINTR, TDX, AMX and Key Locker instructions. * Support non-absolute segment values for lcall and ljmp. * Add {disp16} pseudo prefix to x86 assembler. * Configure with --enable-x86-used-note by default for Linux/x86. - ARM/AArch64: * Add support for Cortex-A78, Cortex-A78AE and Cortex-X1, Cortex-R82, Neoverse V1, and Neoverse N2 cores. * Add support for ETMv4 (Embedded Trace Macrocell), ETE (Embedded Trace Extension), TRBE (Trace Buffer Extension), CSRE (Call Stack Recorder Extension) and BRBE (Branch Record Buffer Extension) system registers. * Add support for Armv8-R and Armv8.7-A ISA extensions. * Add support for DSB memory nXS barrier, WFET and WFIT instruction for Armv8.7. * Add support for +csre feature for -march. Add CSR PDEC instruction for CSRE feature in AArch64. * Add support for +flagm feature for -march in Armv8.4 AArch64. * Add support for +ls64 feature for -march in Armv8.7 AArch64. Add atomic 64-byte load/store instructions for this feature. * Add support for +pauth (Pointer Authentication) feature for -march in AArch64. New features in the Linker: * Add --error-handling-script= command line option to allow a helper script to be invoked when an undefined symbol or a missing library is encountered. This option can be suppressed via the configure time switch: --enable-error-handling-script=no. * Add -z x86-64-{baseline|v[234]} to the x86 ELF linker to mark x86-64-{baseline|v[234]} ISA level as needed. * Add -z unique-symbol to avoid duplicated local symbol names. * The creation of PE format DLLs now defaults to using a more secure set of DLL characteristics. * The linker now deduplicates the types in .ctf sections. The new command-line option --ctf-share-types describes how to do this: its default value, share-unconflicted, produces the most compact output. * The linker now omits the "variable section" from .ctf sections by default, saving space. This is almost certainly what you want unless you are working on a project that has its own analogue of symbol tables that are not reflected in the ELF symtabs. New features in other binary tools: * The ar tool's previously unused l modifier is now used for specifying dependencies of a static library. The arguments of this option (or --record-libdeps long form option) will be stored verbatim in the __.LIBDEP member of the archive, which the linker may read at link time. * Readelf can now display the contents of LTO symbol table sections when asked to do so via the --lto-syms command line option. * Readelf now accepts the -C command line option to enable the demangling of symbol names. In addition the --demangle=

Patch

Patch Instructions: To install this openSUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch". Alternatively you can run the command listed for your product: - openSUSE Leap 15.2: zypper in -t patch openSUSE-2021-1475=1


Package List

- openSUSE Leap 15.2 (i586 x86_64): binutils-2.37-lp152.4.9.1 binutils-debuginfo-2.37-lp152.4.9.1 binutils-debugsource-2.37-lp152.4.9.1 binutils-devel-2.37-lp152.4.9.1 binutils-gold-2.37-lp152.4.9.1 binutils-gold-debuginfo-2.37-lp152.4.9.1 libctf-nobfd0-2.37-lp152.4.9.1 libctf-nobfd0-debuginfo-2.37-lp152.4.9.1 libctf0-2.37-lp152.4.9.1 libctf0-debuginfo-2.37-lp152.4.9.1 - openSUSE Leap 15.2 (noarch): bpftrace-tools-0.11.4-lp152.2.7.1 - openSUSE Leap 15.2 (x86_64): binutils-devel-32bit-2.37-lp152.4.9.1 bpftrace-0.11.4-lp152.2.7.1 cross-aarch64-binutils-2.37-lp152.4.9.1 cross-aarch64-binutils-debuginfo-2.37-lp152.4.9.1 cross-aarch64-binutils-debugsource-2.37-lp152.4.9.1 cross-arm-binutils-2.37-lp152.4.9.1 cross-arm-binutils-debuginfo-2.37-lp152.4.9.1 cross-arm-binutils-debugsource-2.37-lp152.4.9.1 cross-avr-binutils-2.37-lp152.4.9.1 cross-avr-binutils-debuginfo-2.37-lp152.4.9.1 cross-avr-binutils-debugsource-2.37-lp152.4.9.1 cross-epiphany-binutils-2.37-lp152.4.9.1 cross-epiphany-binutils-debuginfo-2.37-lp152.4.9.1 cross-epiphany-binutils-debugsource-2.37-lp152.4.9.1 cross-hppa-binutils-2.37-lp152.4.9.1 cross-hppa-binutils-debuginfo-2.37-lp152.4.9.1 cross-hppa-binutils-debugsource-2.37-lp152.4.9.1 cross-hppa64-binutils-2.37-lp152.4.9.1 cross-hppa64-binutils-debuginfo-2.37-lp152.4.9.1 cross-hppa64-binutils-debugsource-2.37-lp152.4.9.1 cross-i386-binutils-2.37-lp152.4.9.1 cross-i386-binutils-debuginfo-2.37-lp152.4.9.1 cross-i386-binutils-debugsource-2.37-lp152.4.9.1 cross-ia64-binutils-2.37-lp152.4.9.1 cross-ia64-binutils-debuginfo-2.37-lp152.4.9.1 cross-ia64-binutils-debugsource-2.37-lp152.4.9.1 cross-m68k-binutils-2.37-lp152.4.9.1 cross-m68k-binutils-debuginfo-2.37-lp152.4.9.1 cross-m68k-binutils-debugsource-2.37-lp152.4.9.1 cross-mips-binutils-2.37-lp152.4.9.1 cross-mips-binutils-debuginfo-2.37-lp152.4.9.1 cross-mips-binutils-debugsource-2.37-lp152.4.9.1 cross-ppc-binutils-2.37-lp152.4.9.1 cross-ppc-binutils-debuginfo-2.37-lp152.4.9.1 cross-ppc-binutils-debugsource-2.37-lp152.4.9.1 cross-ppc64-binutils-2.37-lp152.4.9.1 cross-ppc64-binutils-debuginfo-2.37-lp152.4.9.1 cross-ppc64-binutils-debugsource-2.37-lp152.4.9.1 cross-ppc64le-binutils-2.37-lp152.4.9.1 cross-ppc64le-binutils-debuginfo-2.37-lp152.4.9.1 cross-ppc64le-binutils-debugsource-2.37-lp152.4.9.1 cross-riscv64-binutils-2.37-lp152.4.9.1 cross-riscv64-binutils-debuginfo-2.37-lp152.4.9.1 cross-riscv64-binutils-debugsource-2.37-lp152.4.9.1 cross-rx-binutils-2.37-lp152.4.9.1 cross-rx-binutils-debuginfo-2.37-lp152.4.9.1 cross-rx-binutils-debugsource-2.37-lp152.4.9.1 cross-s390-binutils-2.37-lp152.4.9.1 cross-s390-binutils-debuginfo-2.37-lp152.4.9.1 cross-s390-binutils-debugsource-2.37-lp152.4.9.1 cross-s390x-binutils-2.37-lp152.4.9.1 cross-s390x-binutils-debuginfo-2.37-lp152.4.9.1 cross-s390x-binutils-debugsource-2.37-lp152.4.9.1 cross-sparc-binutils-2.37-lp152.4.9.1 cross-sparc-binutils-debuginfo-2.37-lp152.4.9.1 cross-sparc-binutils-debugsource-2.37-lp152.4.9.1 cross-sparc64-binutils-2.37-lp152.4.9.1 cross-sparc64-binutils-debuginfo-2.37-lp152.4.9.1 cross-sparc64-binutils-debugsource-2.37-lp152.4.9.1 cross-spu-binutils-2.37-lp152.4.9.1 cross-spu-binutils-debuginfo-2.37-lp152.4.9.1 cross-spu-binutils-debugsource-2.37-lp152.4.9.1 cross-xtensa-binutils-2.37-lp152.4.9.1 cross-xtensa-binutils-debuginfo-2.37-lp152.4.9.1 cross-xtensa-binutils-debugsource-2.37-lp152.4.9.1


References

https://www.suse.com/security/cve/CVE-2020-16590.html https://www.suse.com/security/cve/CVE-2020-16591.html https://www.suse.com/security/cve/CVE-2020-16592.html https://www.suse.com/security/cve/CVE-2020-16593.html https://www.suse.com/security/cve/CVE-2020-16598.html https://www.suse.com/security/cve/CVE-2020-16599.html https://www.suse.com/security/cve/CVE-2020-35448.html https://www.suse.com/security/cve/CVE-2020-35493.html https://www.suse.com/security/cve/CVE-2020-35496.html https://www.suse.com/security/cve/CVE-2020-35507.html https://www.suse.com/security/cve/CVE-2021-20197.html https://www.suse.com/security/cve/CVE-2021-20284.html https://www.suse.com/security/cve/CVE-2021-20294.html https://www.suse.com/security/cve/CVE-2021-3487.html https://bugzilla.suse.com/1179898 https://bugzilla.suse.com/1179899 https://bugzilla.suse.com/1179900 https://bugzilla.suse.com/1179901 https://bugzilla.suse.com/1179902 https://bugzilla.suse.com/1179903 https://bugzilla.suse.com/1180451 https://bugzilla.suse.com/1180454 https://bugzilla.suse.com/1180461 https://bugzilla.suse.com/1181452 https://bugzilla.suse.com/1182252 https://bugzilla.suse.com/1183511 https://bugzilla.suse.com/1183909 https://bugzilla.suse.com/1184519 https://bugzilla.suse.com/1184620 https://bugzilla.suse.com/1184794 https://bugzilla.suse.com/1188941 https://bugzilla.suse.com/1191473 https://bugzilla.suse.com/1192267


Severity
Announcement ID: openSUSE-SU-2021:1475-1
Rating: moderate
Affected Products: openSUSE Leap 15.2 ble.

Related News