Vulnerabilities > CVE-2017-9748 - Improper Restriction of Operations within the Bounds of a Memory Buffer vulnerability in GNU Binutils 2.28

047910
CVSS 7.8 - HIGH
Attack vector
LOCAL
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
HIGH
Integrity impact
HIGH
Availability impact
HIGH
local
low complexity
gnu
CWE-119
nessus
exploit available

Summary

The ieee_object_p function in bfd/ieee.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, might allow remote attackers to cause a denial of service (buffer overflow and application crash) or possibly have unspecified other impact via a crafted binary file, as demonstrated by mishandling of this file during "objdump -D" execution. NOTE: this may be related to a compiler bug.

Vulnerable Configurations

Part Description Count
Application
Gnu
1

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Buffer Overflow via Environment Variables
    This attack pattern involves causing a buffer overflow through manipulation of environment variables. Once the attacker finds that they can modify an environment variable, they may try to overflow associated buffers. This attack leverages implicit trust often placed in environment variables.
  • Overflow Buffers
    Buffer Overflow attacks target improper or missing bounds checking on buffer operations, typically triggered by input injected by an attacker. As a consequence, an attacker is able to write past the boundaries of allocated buffer regions in memory, causing a program crash or potentially redirection of execution as per the attackers' choice.
  • Client-side Injection-induced Buffer Overflow
    This type of attack exploits a buffer overflow vulnerability in targeted client software through injection of malicious content from a custom-built hostile service.
  • Filter Failure through Buffer Overflow
    In this attack, the idea is to cause an active filter to fail by causing an oversized transaction. An attacker may try to feed overly long input strings to the program in an attempt to overwhelm the filter (by causing a buffer overflow) and hoping that the filter does not fail securely (i.e. the user input is let into the system unfiltered).
  • MIME Conversion
    An attacker exploits a weakness in the MIME conversion routine to cause a buffer overflow and gain control over the mail server machine. The MIME system is designed to allow various different information formats to be interpreted and sent via e-mail. Attack points exist when data are converted to MIME compatible format and back.

Exploit-Db

descriptionGNU binutils - 'ieee_object_p' Stack Buffer Overflow. CVE-2017-9748. Dos exploit for Linux platform
fileexploits/linux/dos/42202.txt
idEDB-ID:42202
last seen2017-06-19
modified2017-06-19
platformlinux
port
published2017-06-19
reporterExploit-DB
sourcehttps://www.exploit-db.com/download/42202/
titleGNU binutils - 'ieee_object_p' Stack Buffer Overflow
typedos

Nessus

  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2018-3207-2.NASL
    descriptionThis update for binutils to 2.31 fixes the following issues : These security issues were fixed : CVE-2017-15996: readelf allowed remote attackers to cause a denial of service (excessive memory allocation) or possibly have unspecified other impact via a crafted ELF file that triggered a buffer overflow on fuzzed archive header (bsc#1065643). CVE-2017-15939: Binary File Descriptor (BFD) library (aka libbfd) mishandled NULL files in a .debug_line file table, which allowed remote attackers to cause a denial of service (NULL pointer dereference and application crash) via a crafted ELF file, related to concat_filename (bsc#1065689). CVE-2017-15938: the Binary File Descriptor (BFD) library (aka libbfd) miscalculated DW_FORM_ref_addr die refs in the case of a relocatable object file, which allowed remote attackers to cause a denial of service (find_abstract_instance_name invalid memory read, segmentation fault, and application crash) (bsc#1065693). CVE-2017-16826: The coff_slurp_line_table function the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (invalid memory access and application crash) or possibly have unspecified other impact via a crafted PE file (bsc#1068640). CVE-2017-16832: The pe_bfd_read_buildid function in the Binary File Descriptor (BFD) library (aka libbfd) did not validate size and offset values in the data dictionary, which allowed remote attackers to cause a denial of service (segmentation violation and application crash) or possibly have unspecified other impact via a crafted PE file (bsc#1068643). CVE-2017-16831: Binary File Descriptor (BFD) library (aka libbfd) did not validate the symbol count, which allowed remote attackers to cause a denial of service (integer overflow and application crash, or excessive memory allocation) or possibly have unspecified other impact via a crafted PE file (bsc#1068887). CVE-2017-16830: The print_gnu_property_note function did not have integer-overflow protection on 32-bit platforms, which allowed remote attackers to cause a denial of service (segmentation violation and application crash) or possibly have unspecified other impact via a crafted ELF file (bsc#1068888). CVE-2017-16829: The _bfd_elf_parse_gnu_properties function in the Binary File Descriptor (BFD) library (aka libbfd) did not prevent negative pointers, which allowed remote attackers to cause a denial of service (out-of-bounds read and application crash) or possibly have unspecified other impact via a crafted ELF file (bsc#1068950). CVE-2017-16828: The display_debug_frames function allowed remote attackers to cause a denial of service (integer overflow and heap-based buffer over-read, and application crash) or possibly have unspecified other impact via a crafted ELF file (bsc#1069176). CVE-2017-16827: The aout_get_external_symbols function in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (slurp_symtab invalid free and application crash) or possibly have unspecified other impact via a crafted ELF file (bsc#1069202). CVE-2018-6323: The elf_object_p function in the Binary File Descriptor (BFD) library (aka libbfd) had an unsigned integer overflow because bfd_size_type multiplication is not used. A crafted ELF file allowed remote attackers to cause a denial of service (application crash) or possibly have unspecified other impact (bsc#1077745). CVE-2018-6543: Prevent integer overflow in the function load_specific_debug_section() which resulted in `malloc()` with 0 size. A crafted ELF file allowed remote attackers to cause a denial of service (application crash) or possibly have unspecified other impact (bsc#1079103). CVE-2018-6759: The bfd_get_debug_link_info_1 function in the Binary File Descriptor (BFD) library (aka libbfd) had an unchecked strnlen operation. Remote attackers could have leveraged this vulnerability to cause a denial of service (segmentation fault) via a crafted ELF file (bsc#1079741). CVE-2018-6872: The elf_parse_notes function in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (out-of-bounds read and segmentation violation) via a note with a large alignment (bsc#1080556). CVE-2018-7208: In the coff_pointerize_aux function in the Binary File Descriptor (BFD) library (aka libbfd) an index was not validated, which allowed remote attackers to cause a denial of service (segmentation fault) or possibly have unspecified other impact via a crafted file, as demonstrated by objcopy of a COFF object (bsc#1081527). CVE-2018-7570: The assign_file_positions_for_non_load_sections function in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (NULL pointer dereference and application crash) via an ELF file with a RELRO segment that lacks a matching LOAD segment, as demonstrated by objcopy (bsc#1083528). CVE-2018-7569: The Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (integer underflow or overflow, and application crash) via an ELF file with a corrupt DWARF FORM block, as demonstrated by nm (bsc#1083532). CVE-2018-8945: The bfd_section_from_shdr function in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (segmentation fault) via a large attribute section (bsc#1086608). CVE-2018-7643: The display_debug_ranges function allowed remote attackers to cause a denial of service (integer overflow and application crash) or possibly have unspecified other impact via a crafted ELF file, as demonstrated by objdump (bsc#1086784). CVE-2018-7642: The swap_std_reloc_in function in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (aout_32_swap_std_reloc_out NULL pointer dereference and application crash) via a crafted ELF file, as demonstrated by objcopy (bsc#1086786). CVE-2018-7568: The parse_die function in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (integer overflow and application crash) via an ELF file with corrupt dwarf1 debug information, as demonstrated by nm (bsc#1086788). CVE-2018-10373: concat_filename in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (NULL pointer dereference and application crash) via a crafted binary file, as demonstrated by nm-new (bsc#1090997). CVE-2018-10372: process_cu_tu_index allowed remote attackers to cause a denial of service (heap-based buffer over-read and application crash) via a crafted binary file, as demonstrated by readelf (bsc#1091015). CVE-2018-10535: The ignore_section_sym function in the Binary File Descriptor (BFD) library (aka libbfd) did not validate the output_section pointer in the case of a symtab entry with a
    last seen2020-06-01
    modified2020-06-02
    plugin id118303
    published2018-10-22
    reporterThis script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/118303
    titleSUSE SLES12 Security Update : binutils (SUSE-SU-2018:3207-2)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from SUSE update advisory SUSE-SU-2018:3207-2.
    # The text itself is copyright (C) SUSE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(118303);
      script_version("1.4");
      script_cvs_date("Date: 2019/09/10 13:51:49");
    
      script_cve_id("CVE-2014-9939", "CVE-2017-15938", "CVE-2017-15939", "CVE-2017-15996", "CVE-2017-16826", "CVE-2017-16827", "CVE-2017-16828", "CVE-2017-16829", "CVE-2017-16830", "CVE-2017-16831", "CVE-2017-16832", "CVE-2017-6965", "CVE-2017-6966", "CVE-2017-6969", "CVE-2017-7209", "CVE-2017-7210", "CVE-2017-7223", "CVE-2017-7224", "CVE-2017-7225", "CVE-2017-7226", "CVE-2017-7299", "CVE-2017-7300", "CVE-2017-7301", "CVE-2017-7302", "CVE-2017-7303", "CVE-2017-7304", "CVE-2017-8392", "CVE-2017-8393", "CVE-2017-8394", "CVE-2017-8396", "CVE-2017-8421", "CVE-2017-9746", "CVE-2017-9747", "CVE-2017-9748", "CVE-2017-9750", "CVE-2017-9755", "CVE-2017-9756", "CVE-2018-10372", "CVE-2018-10373", "CVE-2018-10534", "CVE-2018-10535", "CVE-2018-6323", "CVE-2018-6543", "CVE-2018-6759", "CVE-2018-6872", "CVE-2018-7208", "CVE-2018-7568", "CVE-2018-7569", "CVE-2018-7570", "CVE-2018-7642", "CVE-2018-7643", "CVE-2018-8945");
    
      script_name(english:"SUSE SLES12 Security Update : binutils (SUSE-SU-2018:3207-2)");
      script_summary(english:"Checks rpm output for the updated packages.");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote SUSE host is missing one or more security updates."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "This update for binutils to 2.31 fixes the following issues :
    
    These security issues were fixed :
    
    CVE-2017-15996: readelf allowed remote attackers to cause a denial of
    service (excessive memory allocation) or possibly have unspecified
    other impact via a crafted ELF file that triggered a buffer overflow
    on fuzzed archive header (bsc#1065643).
    
    CVE-2017-15939: Binary File Descriptor (BFD) library (aka libbfd)
    mishandled NULL files in a .debug_line file table, which allowed
    remote attackers to cause a denial of service (NULL pointer
    dereference and application crash) via a crafted ELF file, related to
    concat_filename (bsc#1065689).
    
    CVE-2017-15938: the Binary File Descriptor (BFD) library (aka libbfd)
    miscalculated DW_FORM_ref_addr die refs in the case of a relocatable
    object file, which allowed remote attackers to cause a denial of
    service (find_abstract_instance_name invalid memory read, segmentation
    fault, and application crash) (bsc#1065693).
    
    CVE-2017-16826: The coff_slurp_line_table function the Binary File
    Descriptor (BFD) library (aka libbfd) allowed remote attackers to
    cause a denial of service (invalid memory access and application
    crash) or possibly have unspecified other impact via a crafted PE file
    (bsc#1068640).
    
    CVE-2017-16832: The pe_bfd_read_buildid function in the Binary File
    Descriptor (BFD) library (aka libbfd) did not validate size and offset
    values in the data dictionary, which allowed remote attackers to cause
    a denial of service (segmentation violation and application crash) or
    possibly have unspecified other impact via a crafted PE file
    (bsc#1068643).
    
    CVE-2017-16831: Binary File Descriptor (BFD) library (aka libbfd) did
    not validate the symbol count, which allowed remote attackers to cause
    a denial of service (integer overflow and application crash, or
    excessive memory allocation) or possibly have unspecified other impact
    via a crafted PE file (bsc#1068887).
    
    CVE-2017-16830: The print_gnu_property_note function did not have
    integer-overflow protection on 32-bit platforms, which allowed remote
    attackers to cause a denial of service (segmentation violation and
    application crash) or possibly have unspecified other impact via a
    crafted ELF file (bsc#1068888).
    
    CVE-2017-16829: The _bfd_elf_parse_gnu_properties function in the
    Binary File Descriptor (BFD) library (aka libbfd) did not prevent
    negative pointers, which allowed remote attackers to cause a denial of
    service (out-of-bounds read and application crash) or possibly have
    unspecified other impact via a crafted ELF file (bsc#1068950).
    
    CVE-2017-16828: The display_debug_frames function allowed remote
    attackers to cause a denial of service (integer overflow and
    heap-based buffer over-read, and application crash) or possibly have
    unspecified other impact via a crafted ELF file (bsc#1069176).
    
    CVE-2017-16827: The aout_get_external_symbols function in the Binary
    File Descriptor (BFD) library (aka libbfd) allowed remote attackers to
    cause a denial of service (slurp_symtab invalid free and application
    crash) or possibly have unspecified other impact via a crafted ELF
    file (bsc#1069202).
    
    CVE-2018-6323: The elf_object_p function in the Binary File Descriptor
    (BFD) library (aka libbfd) had an unsigned integer overflow because
    bfd_size_type multiplication is not used. A crafted ELF file allowed
    remote attackers to cause a denial of service (application crash) or
    possibly have unspecified other impact (bsc#1077745).
    
    CVE-2018-6543: Prevent integer overflow in the function
    load_specific_debug_section() which resulted in `malloc()` with 0
    size. A crafted ELF file allowed remote attackers to cause a denial of
    service (application crash) or possibly have unspecified other impact
    (bsc#1079103).
    
    CVE-2018-6759: The bfd_get_debug_link_info_1 function in the Binary
    File Descriptor (BFD) library (aka libbfd) had an unchecked strnlen
    operation. Remote attackers could have leveraged this vulnerability to
    cause a denial of service (segmentation fault) via a crafted ELF file
    (bsc#1079741).
    
    CVE-2018-6872: The elf_parse_notes function in the Binary File
    Descriptor (BFD) library (aka libbfd) allowed remote attackers to
    cause a denial of service (out-of-bounds read and segmentation
    violation) via a note with a large alignment (bsc#1080556).
    
    CVE-2018-7208: In the coff_pointerize_aux function in the Binary File
    Descriptor (BFD) library (aka libbfd) an index was not validated,
    which allowed remote attackers to cause a denial of service
    (segmentation fault) or possibly have unspecified other impact via a
    crafted file, as demonstrated by objcopy of a COFF object
    (bsc#1081527).
    
    CVE-2018-7570: The assign_file_positions_for_non_load_sections
    function in the Binary File Descriptor (BFD) library (aka libbfd)
    allowed remote attackers to cause a denial of service (NULL pointer
    dereference and application crash) via an ELF file with a RELRO
    segment that lacks a matching LOAD segment, as demonstrated by objcopy
    (bsc#1083528).
    
    CVE-2018-7569: The Binary File Descriptor (BFD) library (aka libbfd)
    allowed remote attackers to cause a denial of service (integer
    underflow or overflow, and application crash) via an ELF file with a
    corrupt DWARF FORM block, as demonstrated by nm (bsc#1083532).
    
    CVE-2018-8945: The bfd_section_from_shdr function in the Binary File
    Descriptor (BFD) library (aka libbfd) allowed remote attackers to
    cause a denial of service (segmentation fault) via a large attribute
    section (bsc#1086608).
    
    CVE-2018-7643: The display_debug_ranges function allowed remote
    attackers to cause a denial of service (integer overflow and
    application crash) or possibly have unspecified other impact via a
    crafted ELF file, as demonstrated by objdump (bsc#1086784).
    
    CVE-2018-7642: The swap_std_reloc_in function in the Binary File
    Descriptor (BFD) library (aka libbfd) allowed remote attackers to
    cause a denial of service (aout_32_swap_std_reloc_out NULL pointer
    dereference and application crash) via a crafted ELF file, as
    demonstrated by objcopy (bsc#1086786).
    
    CVE-2018-7568: The parse_die function in the Binary File Descriptor
    (BFD) library (aka libbfd) allowed remote attackers to cause a denial
    of service (integer overflow and application crash) via an ELF file
    with corrupt dwarf1 debug information, as demonstrated by nm
    (bsc#1086788).
    
    CVE-2018-10373: concat_filename in the Binary File Descriptor (BFD)
    library (aka libbfd) allowed remote attackers to cause a denial of
    service (NULL pointer dereference and application crash) via a crafted
    binary file, as demonstrated by nm-new (bsc#1090997).
    
    CVE-2018-10372: process_cu_tu_index allowed remote attackers to cause
    a denial of service (heap-based buffer over-read and application
    crash) via a crafted binary file, as demonstrated by readelf
    (bsc#1091015).
    
    CVE-2018-10535: The ignore_section_sym function in the Binary File
    Descriptor (BFD) library (aka libbfd) did not validate the
    output_section pointer in the case of a symtab entry with a 'SECTION'
    type that has a '0' value, which allowed remote attackers to cause a
    denial of service (NULL pointer dereference and application crash) via
    a crafted file, as demonstrated by objcopy (bsc#1091365).
    
    CVE-2018-10534: The _bfd_XX_bfd_copy_private_bfd_data_common function
    in the Binary File Descriptor (BFD) library (aka libbfd) processesed a
    negative Data Directory size with an unbounded loop that increased the
    value of (external_IMAGE_DEBUG_DIRECTORY) *edd so that the address
    exceeded its own memory region, resulting in an out-of-bounds memory
    write, as demonstrated by objcopy copying private info with
    _bfd_pex64_bfd_copy_private_bfd_data_common in pex64igen.c
    (bsc#1091368).
    
    The update package also includes non-security fixes. See advisory for
    details.
    
    Note that Tenable Network Security has extracted the preceding
    description block directly from the SUSE security advisory. Tenable
    has attempted to automatically clean and format it as much as possible
    without introducing additional issues."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1029907"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1029908"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1029909"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030296"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030297"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030298"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030584"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030585"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030588"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030589"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1031590"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1031593"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1031595"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1031638"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1031644"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1031656"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1037052"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1037057"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1037061"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1037066"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1037273"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044891"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044897"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044901"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044909"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044925"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044927"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1065643"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1065689"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1065693"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1068640"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1068643"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1068887"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1068888"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1068950"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1069176"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1069202"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1074741"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1077745"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1079103"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1079741"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1080556"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1081527"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1083528"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1083532"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1085784"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1086608"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1086784"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1086786"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1086788"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1090997"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1091015"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1091365"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1091368"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2014-9939/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-15938/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-15939/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-15996/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-16826/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-16827/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-16828/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-16829/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-16830/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-16831/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-16832/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-6965/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-6966/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-6969/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7209/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7210/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7223/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7224/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7225/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7226/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7299/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7300/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7301/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7302/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7303/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7304/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8392/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8393/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8394/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8396/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8421/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9746/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9747/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9748/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9750/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9755/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9756/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-10372/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-10373/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-10534/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-10535/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-6323/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-6543/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-6759/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-6872/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-7208/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-7568/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-7569/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-7570/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-7642/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-7643/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-8945/"
      );
      # https://www.suse.com/support/update/announcement/2018/suse-su-20183207-2/
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?3cc9a535"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "To install this SUSE 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 :
    
    SUSE Linux Enterprise Server 12-SP2-BCL:zypper in -t patch
    SUSE-SLE-SERVER-12-SP2-BCL-2018-2297=1"
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:12");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2017/03/17");
      script_set_attribute(attribute:"patch_publication_date", value:"2018/10/18");
      script_set_attribute(attribute:"plugin_publication_date", value:"2018/10/22");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"SuSE Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/SuSE/release", "Host/SuSE/rpm-list");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/SuSE/release");
    if (isnull(release) || release !~ "^(SLED|SLES)") audit(AUDIT_OS_NOT, "SUSE");
    os_ver = pregmatch(pattern: "^(SLE(S|D)\d+)", string:release);
    if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "SUSE");
    os_ver = os_ver[1];
    if (! preg(pattern:"^(SLES12)$", string:os_ver)) audit(AUDIT_OS_NOT, "SUSE SLES12", "SUSE " + os_ver);
    
    if (!get_kb_item("Host/SuSE/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if (cpu !~ "^i[3-6]86$" && "x86_64" >!< cpu && "s390x" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "SUSE " + os_ver, cpu);
    if (cpu >!< "x86_64") audit(AUDIT_ARCH_NOT, "x86_64", cpu);
    
    
    sp = get_kb_item("Host/SuSE/patchlevel");
    if (isnull(sp)) sp = "0";
    if (os_ver == "SLES12" && (! preg(pattern:"^(2)$", string:sp))) audit(AUDIT_OS_NOT, "SLES12 SP2", os_ver + " SP" + sp);
    
    
    flag = 0;
    if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"binutils-2.31-9.26.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"binutils-debuginfo-2.31-9.26.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"binutils-debugsource-2.31-9.26.1")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
      else security_hole(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "binutils");
    }
    
  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2018-1198.NASL
    descriptionThis update for binutils to 2.31 fixes the following issues : These security issues were fixed : - CVE-2017-15996: readelf allowed remote attackers to cause a denial of service (excessive memory allocation) or possibly have unspecified other impact via a crafted ELF file that triggered a buffer overflow on fuzzed archive header (bsc#1065643). - CVE-2017-15939: Binary File Descriptor (BFD) library (aka libbfd) mishandled NULL files in a .debug_line file table, which allowed remote attackers to cause a denial of service (NULL pointer dereference and application crash) via a crafted ELF file, related to concat_filename (bsc#1065689). - CVE-2017-15938: the Binary File Descriptor (BFD) library (aka libbfd) miscalculated DW_FORM_ref_addr die refs in the case of a relocatable object file, which allowed remote attackers to cause a denial of service (find_abstract_instance_name invalid memory read, segmentation fault, and application crash) (bsc#1065693). - CVE-2017-16826: The coff_slurp_line_table function the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (invalid memory access and application crash) or possibly have unspecified other impact via a crafted PE file (bsc#1068640). - CVE-2017-16832: The pe_bfd_read_buildid function in the Binary File Descriptor (BFD) library (aka libbfd) did not validate size and offset values in the data dictionary, which allowed remote attackers to cause a denial of service (segmentation violation and application crash) or possibly have unspecified other impact via a crafted PE file (bsc#1068643). - CVE-2017-16831: Binary File Descriptor (BFD) library (aka libbfd) did not validate the symbol count, which allowed remote attackers to cause a denial of service (integer overflow and application crash, or excessive memory allocation) or possibly have unspecified other impact via a crafted PE file (bsc#1068887). - CVE-2017-16830: The print_gnu_property_note function did not have integer-overflow protection on 32-bit platforms, which allowed remote attackers to cause a denial of service (segmentation violation and application crash) or possibly have unspecified other impact via a crafted ELF file (bsc#1068888). - CVE-2017-16829: The _bfd_elf_parse_gnu_properties function in the Binary File Descriptor (BFD) library (aka libbfd) did not prevent negative pointers, which allowed remote attackers to cause a denial of service (out-of-bounds read and application crash) or possibly have unspecified other impact via a crafted ELF file (bsc#1068950). - CVE-2017-16828: The display_debug_frames function allowed remote attackers to cause a denial of service (integer overflow and heap-based buffer over-read, and application crash) or possibly have unspecified other impact via a crafted ELF file (bsc#1069176). - CVE-2017-16827: The aout_get_external_symbols function in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (slurp_symtab invalid free and application crash) or possibly have unspecified other impact via a crafted ELF file (bsc#1069202). - CVE-2018-6323: The elf_object_p function in the Binary File Descriptor (BFD) library (aka libbfd) had an unsigned integer overflow because bfd_size_type multiplication is not used. A crafted ELF file allowed remote attackers to cause a denial of service (application crash) or possibly have unspecified other impact (bsc#1077745). - CVE-2018-6543: Prevent integer overflow in the function load_specific_debug_section() which resulted in `malloc()` with 0 size. A crafted ELF file allowed remote attackers to cause a denial of service (application crash) or possibly have unspecified other impact (bsc#1079103). - CVE-2018-6759: The bfd_get_debug_link_info_1 function in the Binary File Descriptor (BFD) library (aka libbfd) had an unchecked strnlen operation. Remote attackers could have leveraged this vulnerability to cause a denial of service (segmentation fault) via a crafted ELF file (bsc#1079741). - CVE-2018-6872: The elf_parse_notes function in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (out-of-bounds read and segmentation violation) via a note with a large alignment (bsc#1080556). - CVE-2018-7208: In the coff_pointerize_aux function in the Binary File Descriptor (BFD) library (aka libbfd) an index was not validated, which allowed remote attackers to cause a denial of service (segmentation fault) or possibly have unspecified other impact via a crafted file, as demonstrated by objcopy of a COFF object (bsc#1081527). - CVE-2018-7570: The assign_file_positions_for_non_load_sections function in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (NULL pointer dereference and application crash) via an ELF file with a RELRO segment that lacks a matching LOAD segment, as demonstrated by objcopy (bsc#1083528). - CVE-2018-7569: The Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (integer underflow or overflow, and application crash) via an ELF file with a corrupt DWARF FORM block, as demonstrated by nm (bsc#1083532). - CVE-2018-8945: The bfd_section_from_shdr function in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (segmentation fault) via a large attribute section (bsc#1086608). - CVE-2018-7643: The display_debug_ranges function allowed remote attackers to cause a denial of service (integer overflow and application crash) or possibly have unspecified other impact via a crafted ELF file, as demonstrated by objdump (bsc#1086784). - CVE-2018-7642: The swap_std_reloc_in function in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (aout_32_swap_std_reloc_out NULL pointer dereference and application crash) via a crafted ELF file, as demonstrated by objcopy (bsc#1086786). - CVE-2018-7568: The parse_die function in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (integer overflow and application crash) via an ELF file with corrupt dwarf1 debug information, as demonstrated by nm (bsc#1086788). - CVE-2018-10373: concat_filename in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (NULL pointer dereference and application crash) via a crafted binary file, as demonstrated by nm-new (bsc#1090997). - CVE-2018-10372: process_cu_tu_index allowed remote attackers to cause a denial of service (heap-based buffer over-read and application crash) via a crafted binary file, as demonstrated by readelf (bsc#1091015). - CVE-2018-10535: The ignore_section_sym function in the Binary File Descriptor (BFD) library (aka libbfd) did not validate the output_section pointer in the case of a symtab entry with a
    last seen2020-06-05
    modified2018-10-19
    plugin id118220
    published2018-10-19
    reporterThis script is Copyright (C) 2018-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/118220
    titleopenSUSE Security Update : binutils (openSUSE-2018-1198)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from openSUSE Security Update openSUSE-2018-1198.
    #
    # The text description of this plugin is (C) SUSE LLC.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(118220);
      script_version("1.3");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/06/04");
    
      script_cve_id("CVE-2014-9939", "CVE-2017-15938", "CVE-2017-15939", "CVE-2017-15996", "CVE-2017-16826", "CVE-2017-16827", "CVE-2017-16828", "CVE-2017-16829", "CVE-2017-16830", "CVE-2017-16831", "CVE-2017-16832", "CVE-2017-6965", "CVE-2017-6966", "CVE-2017-6969", "CVE-2017-7209", "CVE-2017-7210", "CVE-2017-7223", "CVE-2017-7224", "CVE-2017-7225", "CVE-2017-7226", "CVE-2017-7299", "CVE-2017-7300", "CVE-2017-7301", "CVE-2017-7302", "CVE-2017-7303", "CVE-2017-7304", "CVE-2017-8392", "CVE-2017-8393", "CVE-2017-8394", "CVE-2017-8396", "CVE-2017-8421", "CVE-2017-9746", "CVE-2017-9747", "CVE-2017-9748", "CVE-2017-9750", "CVE-2017-9755", "CVE-2017-9756", "CVE-2018-10372", "CVE-2018-10373", "CVE-2018-10534", "CVE-2018-10535", "CVE-2018-6323", "CVE-2018-6543", "CVE-2018-6759", "CVE-2018-6872", "CVE-2018-7208", "CVE-2018-7568", "CVE-2018-7569", "CVE-2018-7570", "CVE-2018-7642", "CVE-2018-7643", "CVE-2018-8945");
    
      script_name(english:"openSUSE Security Update : binutils (openSUSE-2018-1198)");
      script_summary(english:"Check for the openSUSE-2018-1198 patch");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote openSUSE host is missing a security update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "This update for binutils to 2.31 fixes the following issues :
    
    These security issues were fixed :
    
      - CVE-2017-15996: readelf allowed remote attackers to
        cause a denial of service (excessive memory allocation)
        or possibly have unspecified other impact via a crafted
        ELF file that triggered a buffer overflow on fuzzed
        archive header (bsc#1065643).
    
      - CVE-2017-15939: Binary File Descriptor (BFD) library
        (aka libbfd) mishandled NULL files in a .debug_line file
        table, which allowed remote attackers to cause a denial
        of service (NULL pointer dereference and application
        crash) via a crafted ELF file, related to
        concat_filename (bsc#1065689).
    
      - CVE-2017-15938: the Binary File Descriptor (BFD) library
        (aka libbfd) miscalculated DW_FORM_ref_addr die refs in
        the case of a relocatable object file, which allowed
        remote attackers to cause a denial of service
        (find_abstract_instance_name invalid memory read,
        segmentation fault, and application crash)
        (bsc#1065693).
    
      - CVE-2017-16826: The coff_slurp_line_table function the
        Binary File Descriptor (BFD) library (aka libbfd)
        allowed remote attackers to cause a denial of service
        (invalid memory access and application crash) or
        possibly have unspecified other impact via a crafted PE
        file (bsc#1068640).
    
      - CVE-2017-16832: The pe_bfd_read_buildid function in the
        Binary File Descriptor (BFD) library (aka libbfd) did
        not validate size and offset values in the data
        dictionary, which allowed remote attackers to cause a
        denial of service (segmentation violation and
        application crash) or possibly have unspecified other
        impact via a crafted PE file (bsc#1068643).
    
      - CVE-2017-16831: Binary File Descriptor (BFD) library
        (aka libbfd) did not validate the symbol count, which
        allowed remote attackers to cause a denial of service
        (integer overflow and application crash, or excessive
        memory allocation) or possibly have unspecified other
        impact via a crafted PE file (bsc#1068887).
    
      - CVE-2017-16830: The print_gnu_property_note function did
        not have integer-overflow protection on 32-bit
        platforms, which allowed remote attackers to cause a
        denial of service (segmentation violation and
        application crash) or possibly have unspecified other
        impact via a crafted ELF file (bsc#1068888).
    
      - CVE-2017-16829: The _bfd_elf_parse_gnu_properties
        function in the Binary File Descriptor (BFD) library
        (aka libbfd) did not prevent negative pointers, which
        allowed remote attackers to cause a denial of service
        (out-of-bounds read and application crash) or possibly
        have unspecified other impact via a crafted ELF file
        (bsc#1068950).
    
      - CVE-2017-16828: The display_debug_frames function
        allowed remote attackers to cause a denial of service
        (integer overflow and heap-based buffer over-read, and
        application crash) or possibly have unspecified other
        impact via a crafted ELF file (bsc#1069176).
    
      - CVE-2017-16827: The aout_get_external_symbols function
        in the Binary File Descriptor (BFD) library (aka libbfd)
        allowed remote attackers to cause a denial of service
        (slurp_symtab invalid free and application crash) or
        possibly have unspecified other impact via a crafted ELF
        file (bsc#1069202).
    
      - CVE-2018-6323: The elf_object_p function in the Binary
        File Descriptor (BFD) library (aka libbfd) had an
        unsigned integer overflow because bfd_size_type
        multiplication is not used. A crafted ELF file allowed
        remote attackers to cause a denial of service
        (application crash) or possibly have unspecified other
        impact (bsc#1077745).
    
      - CVE-2018-6543: Prevent integer overflow in the function
        load_specific_debug_section() which resulted in
        `malloc()` with 0 size. A crafted ELF file allowed
        remote attackers to cause a denial of service
        (application crash) or possibly have unspecified other
        impact (bsc#1079103).
    
      - CVE-2018-6759: The bfd_get_debug_link_info_1 function in
        the Binary File Descriptor (BFD) library (aka libbfd)
        had an unchecked strnlen operation. Remote attackers
        could have leveraged this vulnerability to cause a
        denial of service (segmentation fault) via a crafted ELF
        file (bsc#1079741).
    
      - CVE-2018-6872: The elf_parse_notes function in the
        Binary File Descriptor (BFD) library (aka libbfd)
        allowed remote attackers to cause a denial of service
        (out-of-bounds read and segmentation violation) via a
        note with a large alignment (bsc#1080556).
    
      - CVE-2018-7208: In the coff_pointerize_aux function in
        the Binary File Descriptor (BFD) library (aka libbfd) an
        index was not validated, which allowed remote attackers
        to cause a denial of service (segmentation fault) or
        possibly have unspecified other impact via a crafted
        file, as demonstrated by objcopy of a COFF object
        (bsc#1081527).
    
      - CVE-2018-7570: The
        assign_file_positions_for_non_load_sections function in
        the Binary File Descriptor (BFD) library (aka libbfd)
        allowed remote attackers to cause a denial of service
        (NULL pointer dereference and application crash) via an
        ELF file with a RELRO segment that lacks a matching LOAD
        segment, as demonstrated by objcopy (bsc#1083528).
    
      - CVE-2018-7569: The Binary File Descriptor (BFD) library
        (aka libbfd) allowed remote attackers to cause a denial
        of service (integer underflow or overflow, and
        application crash) via an ELF file with a corrupt DWARF
        FORM block, as demonstrated by nm (bsc#1083532).
    
      - CVE-2018-8945: The bfd_section_from_shdr function in the
        Binary File Descriptor (BFD) library (aka libbfd)
        allowed remote attackers to cause a denial of service
        (segmentation fault) via a large attribute section
        (bsc#1086608).
    
      - CVE-2018-7643: The display_debug_ranges function allowed
        remote attackers to cause a denial of service (integer
        overflow and application crash) or possibly have
        unspecified other impact via a crafted ELF file, as
        demonstrated by objdump (bsc#1086784).
    
      - CVE-2018-7642: The swap_std_reloc_in function in the
        Binary File Descriptor (BFD) library (aka libbfd)
        allowed remote attackers to cause a denial of service
        (aout_32_swap_std_reloc_out NULL pointer dereference and
        application crash) via a crafted ELF file, as
        demonstrated by objcopy (bsc#1086786).
    
      - CVE-2018-7568: The parse_die function in the Binary File
        Descriptor (BFD) library (aka libbfd) allowed remote
        attackers to cause a denial of service (integer overflow
        and application crash) via an ELF file with corrupt
        dwarf1 debug information, as demonstrated by nm
        (bsc#1086788).
    
      - CVE-2018-10373: concat_filename in the Binary File
        Descriptor (BFD) library (aka libbfd) allowed remote
        attackers to cause a denial of service (NULL pointer
        dereference and application crash) via a crafted binary
        file, as demonstrated by nm-new (bsc#1090997).
    
      - CVE-2018-10372: process_cu_tu_index allowed remote
        attackers to cause a denial of service (heap-based
        buffer over-read and application crash) via a crafted
        binary file, as demonstrated by readelf (bsc#1091015).
    
      - CVE-2018-10535: The ignore_section_sym function in the
        Binary File Descriptor (BFD) library (aka libbfd) did
        not validate the output_section pointer in the case of a
        symtab entry with a 'SECTION' type that has a '0' value,
        which allowed remote attackers to cause a denial of
        service (NULL pointer dereference and application crash)
        via a crafted file, as demonstrated by objcopy
        (bsc#1091365).
    
      - CVE-2018-10534: The
        _bfd_XX_bfd_copy_private_bfd_data_common function in the
        Binary File Descriptor (BFD) library (aka libbfd)
        processesed a negative Data Directory size with an
        unbounded loop that increased the value of
        (external_IMAGE_DEBUG_DIRECTORY) *edd so that the
        address exceeded its own memory region, resulting in an
        out-of-bounds memory write, as demonstrated by objcopy
        copying private info with
        _bfd_pex64_bfd_copy_private_bfd_data_common in
        pex64igen.c (bsc#1091368).
    
    These non-security issues were fixed :
    
      - The AArch64 port now supports showing disassembly notes
        which are emitted when inconsistencies are found with
        the instruction that may result in the instruction being
        invalid. These can be turned on with the option -M notes
        to objdump.
    
      - The AArch64 port now emits warnings when a combination
        of an instruction and a named register could be invalid.
    
      - Added O modifier to ar to display member offsets inside
        an archive
    
      - The ADR and ADRL pseudo-instructions supported by the
        ARM assembler now only set the bottom bit of the address
        of thumb function symbols if the -mthumb-interwork
        command line option is active.
    
      - Add --generate-missing-build-notes=[yes|no] option to
        create (or not) GNU Build Attribute notes if none are
        present in the input sources. Add a
    
        --enable-generate-build-notes=[yes|no] configure time
        option to set the default behaviour. Set the default if
        the configure option is not used to 'no'.
    
      - Remove -mold-gcc command-line option for x86 targets.
    
      - Add -O[2|s] command-line options to x86 assembler to
        enable alternate shorter instruction encoding.
    
      - Add support for .nops directive. It is currently
        supported only for x86 targets.
    
      - Speed up direct linking with DLLs for Cygwin and Mingw
        targets.
    
      - Add a configure option --enable-separate-code to decide
        whether
    
        -z separate-code should be enabled in ELF linker by
        default. Default to yes for Linux/x86 targets. Note that
        -z separate-code can increase disk and memory size.
    
      - RISC-V: Fix symbol address problem with versioned
        symbols 
    
      - Restore riscv64-elf cross prefix via symlinks
    
      - RISC-V: Don't enable relaxation in relocatable link
    
      - Prevent linking faiures on i386 with assertion
        (bsc#1085784)
    
      - Fix symbol size bug when relaxation deletes bytes
    
      - Add --debug-dump=links option to readelf and
        --dwarf=links option to objdump which displays the
        contents of any .gnu_debuglink or .gnu_debugaltlink
        sections. Add a --debug-dump=follow-links option to
        readelf and a --dwarf=follow-links option to objdump
        which causes indirect links into separate debug info
        files to be followed when dumping other DWARF sections.
    
      - Add support for loaction views in DWARF debug line
        information.
    
      - Add -z separate-code to generate separate code PT_LOAD
        segment.
    
      - Add '-z undefs' command line option as the inverse of
        the '-z defs' option.
    
      - Add -z globalaudit command line option to force audit
        libraries to be run for every dynamic object loaded by
        an executable - provided that the loader supports this
        functionality.
    
      - Tighten linker script grammar around file name
        specifiers to prevent the use of SORT_BY_ALIGNMENT and
        SORT_BY_INIT_PRIORITY on filenames. These would
        previously be accepted but had no effect.
    
      - The EXCLUDE_FILE directive can now be placed within any
        SORT_* directive within input section lists.
    
      - Fix linker relaxation with --wrap
    
      - Add arm-none-eabi symlinks (bsc#1074741)
    
    Former updates of binutils also fixed the following security issues,
    for which there was not CVE assigned at the time the update was
    released or no mapping between code change and CVE existed :
    
      - CVE-2014-9939: Prevent stack-based buffer overflow when
        printing bad bytes in Intel Hex objects (bsc#1030296).
    
      - CVE-2017-7225: The find_nearest_line function in
        addr2line did not handle the case where the main file
        name and the directory name are both empty, triggering a
        NULL pointer dereference and an invalid write, and
        leading to a program crash (bsc#1030585).
    
      - CVE-2017-7224: The find_nearest_line function in objdump
        was vulnerable to an invalid write (of size 1) while
        disassembling a corrupt binary that contains an empty
        function name, leading to a program crash (bsc#1030588).
    
      - CVE-2017-7223: GNU assembler in was vulnerable to a
        global buffer overflow (of size 1) while attempting to
        unget an EOF character from the input stream,
        potentially leading to a program crash (bsc#1030589).
    
      - CVE-2017-7226: The pe_ILF_object_p function in the
        Binary File Descriptor (BFD) library (aka libbfd) was
        vulnerable to a heap-based buffer over-read of size 4049
        because it used the strlen function instead of strnlen,
        leading to program crashes in several utilities such as
        addr2line, size, and strings. It could lead to
        information disclosure as well (bsc#1030584).
    
      - CVE-2017-7299: The Binary File Descriptor (BFD) library
        (aka libbfd) had an invalid read (of size 8) because the
        code to emit relocs (bfd_elf_final_link function in
        bfd/elflink.c) did not check the format of the input
        file trying to read the ELF reloc section header. The
        vulnerability leads to a GNU linker (ld) program crash
        (bsc#1031644).
    
      - CVE-2017-7300: The Binary File Descriptor (BFD) library
        (aka libbfd) had an aout_link_add_symbols function in
        bfd/aoutx.h that is vulnerable to a heap-based buffer
        over-read (off-by-one) because of an incomplete check
        for invalid string offsets while loading symbols,
        leading to a GNU linker (ld) program crash
        (bsc#1031656).
    
      - CVE-2017-7302: The Binary File Descriptor (BFD) library
        (aka libbfd) had a swap_std_reloc_out function in
        bfd/aoutx.h that is vulnerable to an invalid read (of
        size 4) because of missing checks for relocs that could
        not be recognised. This vulnerability caused Binutils
        utilities like strip to crash (bsc#1031595).
    
      - CVE-2017-7303: The Binary File Descriptor (BFD) library
        (aka libbfd) was vulnerable to an invalid read (of size
        4) because of missing a check (in the find_link
        function) for null headers attempting to match them.
        This vulnerability caused Binutils utilities like strip
        to crash (bsc#1031593).
    
      - CVE-2017-7301: The Binary File Descriptor (BFD) library
        (aka libbfd) had an aout_link_add_symbols function in
        bfd/aoutx.h that has an off-by-one vulnerability because
        it did not carefully check the string offset. The
        vulnerability could lead to a GNU linker (ld) program
        crash (bsc#1031638).
    
      - CVE-2017-7304: The Binary File Descriptor (BFD) library
        (aka libbfd) was vulnerable to an invalid read (of size
        8) because of missing a check (in the
        copy_special_section_fields function) for an invalid
        sh_link field attempting to follow it. This
        vulnerability caused Binutils utilities like strip to
        crash (bsc#1031590).
    
      - CVE-2017-8392: The Binary File Descriptor (BFD) library
        (aka libbfd) was vulnerable to an invalid read of size 8
        because of missing a check to determine whether symbols
        are NULL in the _bfd_dwarf2_find_nearest_line function.
        This vulnerability caused programs that conduct an
        analysis of binary programs using the libbfd library,
        such as objdump, to crash (bsc#1037052).
    
      - CVE-2017-8393: The Binary File Descriptor (BFD) library
        (aka libbfd) was vulnerable to a global buffer over-read
        error because of an assumption made by code that runs
        for objcopy and strip, that SHT_REL/SHR_RELA sections
        are always named starting with a .rel/.rela prefix. This
        vulnerability caused programs that conduct an analysis
        of binary programs using the libbfd library, such as
        objcopy and strip, to crash (bsc#1037057).
    
      - CVE-2017-8394: The Binary File Descriptor (BFD) library
        (aka libbfd) was vulnerable to an invalid read of size 4
        due to NULL pointer dereferencing of
        _bfd_elf_large_com_section. This vulnerability caused
        programs that conduct an analysis of binary programs
        using the libbfd library, such as objcopy, to crash
        (bsc#1037061).
    
      - CVE-2017-8396: The Binary File Descriptor (BFD) library
        (aka libbfd) was vulnerable to an invalid read of size 1
        because the existing reloc offset range tests didn't
        catch small negative offsets less than the size of the
        reloc field. This vulnerability caused programs that
        conduct an analysis of binary programs using the libbfd
        library, such as objdump, to crash (bsc#1037066).
    
      - CVE-2017-8421: The function coff_set_alignment_hook in
        Binary File Descriptor (BFD) library (aka libbfd) had a
        memory leak vulnerability which can cause memory
        exhaustion in objdump via a crafted PE file
        (bsc#1037273).
    
      - CVE-2017-9746: The disassemble_bytes function in
        objdump.c allowed remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of rae insns
        printing for this file during 'objdump
    
        -D' execution (bsc#1044891).
    
      - CVE-2017-9747: The ieee_archive_p function in the Binary
        File Descriptor (BFD) library (aka libbfd) might have
        allowed remote attackers to cause a denial of service
        (buffer overflow and application crash) or possibly have
        unspecified other impact via a crafted binary file, as
        demonstrated by mishandling of this file during 'objdump
        -D' execution (bsc#1044897).
    
      - CVE-2017-9748: The ieee_object_p function in the Binary
        File Descriptor (BFD) library (aka libbfd) might have
        allowed remote attackers to cause a denial of service
        (buffer overflow and application crash) or possibly have
        unspecified other impact via a crafted binary file, as
        demonstrated by mishandling of this file during 'objdump
        -D' execution (bsc#1044901).
    
      - CVE-2017-9750: opcodes/rx-decode.opc lacked bounds
        checks for certain scale arrays, which allowed remote
        attackers to cause a denial of service (buffer overflow
        and application crash) or possibly have unspecified
        other impact via a crafted binary file, as demonstrated
        by mishandling of this file during 'objdump -D'
        execution (bsc#1044909).
    
      - CVE-2017-9755: Not considering the the number of
        registers for bnd mode allowed remote attackers to cause
        a denial of service (buffer overflow and application
        crash) or possibly have unspecified other impact via a
        crafted binary file, as demonstrated by mishandling of
        this file during 'objdump -D' execution (bsc#1044925).
    
      - CVE-2017-9756: The aarch64_ext_ldst_reglist function
        allowed remote attackers to cause a denial of service
        (buffer overflow and application crash) or possibly have
        unspecified other impact via a crafted binary file, as
        demonstrated by mishandling of this file during 'objdump
        -D' execution (bsc#1044927).
    
      - CVE-2017-7209: The dump_section_as_bytes function in
        readelf accessed a NULL pointer while reading section
        contents in a corrupt binary, leading to a program crash
        (bsc#1030298).
    
      - CVE-2017-6965: readelf wrote to illegal addresses while
        processing corrupt input files containing
        symbol-difference relocations, leading to a heap-based
        buffer overflow (bsc#1029909).
    
      - CVE-2017-6966: readelf had a use-after-free
        (specifically read-after-free) error while processing
        multiple, relocated sections in an MSP430 binary. This
        is caused by mishandling of an invalid symbol index, and
        mishandling of state across invocations (bsc#1029908).
    
      - CVE-2017-6969: readelf was vulnerable to a heap-based
        buffer over-read while processing corrupt RL78 binaries.
        The vulnerability can trigger program crashes. It may
        lead to an information leak as well (bsc#1029907).
    
      - CVE-2017-7210: objdump was vulnerable to multiple
        heap-based buffer over-reads (of size 1 and size 8)
        while handling corrupt STABS enum type strings in a
        crafted object file, leading to program crash
        (bsc#1030297). This update was imported from the
        SUSE:SLE-12:Update update project."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1029907"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1029908"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1029909"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1030296"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1030297"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1030298"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1030584"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1030585"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1030588"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1030589"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1031590"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1031593"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1031595"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1031638"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1031644"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1031656"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1037052"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1037057"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1037061"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1037066"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1037273"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1044891"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1044897"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1044901"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1044909"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1044925"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1044927"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1065643"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1065689"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1065693"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1068640"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1068643"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1068887"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1068888"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1068950"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1069176"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1069202"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1074741"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1077745"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1079103"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1079741"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1080556"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1081527"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1083528"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1083532"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1085784"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1086608"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1086784"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1086786"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1086788"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1090997"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1091015"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1091365"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1091368"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected binutils packages."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:binutils-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:binutils-devel-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:binutils-gold");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:binutils-gold-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-aarch64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-aarch64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-aarch64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-arm-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-arm-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-arm-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-avr-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-avr-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-avr-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-hppa-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-hppa-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-hppa-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-hppa64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-hppa64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-hppa64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-i386-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-i386-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-i386-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ia64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ia64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ia64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-m68k-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-m68k-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-m68k-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-mips-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-mips-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-mips-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ppc-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ppc-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ppc-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ppc64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ppc64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ppc64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ppc64le-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ppc64le-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ppc64le-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-s390-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-s390-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-s390-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-s390x-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-s390x-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-s390x-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-sparc-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-sparc-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-sparc-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-sparc64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-sparc64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-sparc64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-spu-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-spu-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-spu-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-x86_64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-x86_64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-x86_64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:42.3");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2018/10/18");
      script_set_attribute(attribute:"plugin_publication_date", value:"2018/10/19");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2018-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"SuSE Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/SuSE/release", "Host/SuSE/rpm-list", "Host/cpu");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/SuSE/release");
    if (isnull(release) || release =~ "^(SLED|SLES)") audit(AUDIT_OS_NOT, "openSUSE");
    if (release !~ "^(SUSE42\.3)$") audit(AUDIT_OS_RELEASE_NOT, "openSUSE", "42.3", release);
    if (!get_kb_item("Host/SuSE/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    ourarch = get_kb_item("Host/cpu");
    if (!ourarch) audit(AUDIT_UNKNOWN_ARCH);
    if (ourarch !~ "^(i586|i686|x86_64)$") audit(AUDIT_ARCH_NOT, "i586 / i686 / x86_64", ourarch);
    
    flag = 0;
    
    if ( rpm_check(release:"SUSE42.3", reference:"binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"binutils-debugsource-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"binutils-devel-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"binutils-gold-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"binutils-gold-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-aarch64-binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-aarch64-binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-aarch64-binutils-debugsource-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-arm-binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-arm-binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-arm-binutils-debugsource-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-avr-binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-avr-binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-avr-binutils-debugsource-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-hppa-binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-hppa-binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-hppa-binutils-debugsource-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-hppa64-binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-hppa64-binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-hppa64-binutils-debugsource-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ia64-binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ia64-binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ia64-binutils-debugsource-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-m68k-binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-m68k-binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-m68k-binutils-debugsource-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-mips-binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-mips-binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-mips-binutils-debugsource-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ppc-binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ppc-binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ppc-binutils-debugsource-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ppc64-binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ppc64-binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ppc64-binutils-debugsource-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ppc64le-binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ppc64le-binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ppc64le-binutils-debugsource-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-s390-binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-s390-binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-s390-binutils-debugsource-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-s390x-binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-s390x-binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-s390x-binutils-debugsource-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-sparc-binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-sparc-binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-sparc-binutils-debugsource-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-sparc64-binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-sparc64-binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-sparc64-binutils-debugsource-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-spu-binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-spu-binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-spu-binutils-debugsource-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-x86_64-binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-x86_64-binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-x86_64-binutils-debugsource-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"binutils-devel-32bit-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"cross-i386-binutils-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"cross-i386-binutils-debuginfo-2.31-19.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"cross-i386-binutils-debugsource-2.31-19.1") ) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
      else security_hole(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "binutils / binutils-debuginfo / binutils-debugsource / etc");
    }
    
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-1836.NASL
    descriptionAccording to the versions of the binutils packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - The _bfd_elf_parse_attributes function in elf-attrs.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.29, allows remote attackers to cause a denial of service (_bfd_elf_attr_strdup heap-based buffer over-read and application crash) via a crafted ELF file.(CVE-2017-14130) - The aarch64_ext_ldst_reglist function in opcodes/aarch64-dis.c in GNU Binutils 2.28 allows remote attackers to cause a denial of service (buffer overflow and application crash) or possibly have unspecified other impact via a crafted binary file, as demonstrated by mishandling of this file during
    last seen2020-05-06
    modified2019-09-17
    plugin id128888
    published2019-09-17
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/128888
    titleEulerOS 2.0 SP2 : binutils (EulerOS-SA-2019-1836)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(128888);
      script_version("1.3");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/04");
    
      script_cve_id(
        "CVE-2017-12799",
        "CVE-2017-14130",
        "CVE-2017-7302",
        "CVE-2017-7303",
        "CVE-2017-8396",
        "CVE-2017-8397",
        "CVE-2017-8398",
        "CVE-2017-9040",
        "CVE-2017-9042",
        "CVE-2017-9742",
        "CVE-2017-9744",
        "CVE-2017-9746",
        "CVE-2017-9747",
        "CVE-2017-9748",
        "CVE-2017-9749",
        "CVE-2017-9752",
        "CVE-2017-9753",
        "CVE-2017-9754",
        "CVE-2017-9756",
        "CVE-2018-12697",
        "CVE-2019-9075"
      );
    
      script_name(english:"EulerOS 2.0 SP2 : binutils (EulerOS-SA-2019-1836)");
      script_summary(english:"Checks the rpm output for the updated packages.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote EulerOS host is missing multiple security updates.");
      script_set_attribute(attribute:"description", value:
    "According to the versions of the binutils packages installed, the
    EulerOS installation on the remote host is affected by the following
    vulnerabilities :
    
      - The _bfd_elf_parse_attributes function in elf-attrs.c
        in the Binary File Descriptor (BFD) library (aka
        libbfd), as distributed in GNU Binutils 2.29, allows
        remote attackers to cause a denial of service
        (_bfd_elf_attr_strdup heap-based buffer over-read and
        application crash) via a crafted ELF
        file.(CVE-2017-14130)
    
      - The aarch64_ext_ldst_reglist function in
        opcodes/aarch64-dis.c in GNU Binutils 2.28 allows
        remote attackers to cause a denial of service (buffer
        overflow and application crash) or possibly have
        unspecified other impact via a crafted binary file, as
        demonstrated by mishandling of this file during
        'objdump -D' execution.(CVE-2017-9756)
    
      - The process_otr function in bfd/versados.c in the
        Binary File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, does not validate a
        certain offset, which allows remote attackers to cause
        a denial of service (buffer overflow and application
        crash) or possibly have unspecified other impact via a
        crafted binary file, as demonstrated by mishandling of
        this file during 'objdump -D' execution.(CVE-2017-9754)
    
      - The versados_mkobject function in bfd/versados.c in the
        Binary File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, does not initialize a
        certain data structure, which allows remote attackers
        to cause a denial of service (buffer overflow and
        application crash) or possibly have unspecified other
        impact via a crafted binary file, as demonstrated by
        mishandling of this file during 'objdump -D'
        execution.(CVE-2017-9753)
    
      - bfd/vms-alpha.c in the Binary File Descriptor (BFD)
        library (aka libbfd), as distributed in GNU Binutils
        2.28, allows remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of this
        file in the _bfd_vms_get_value and _bfd_vms_slurp_etir
        functions during 'objdump -D' execution.(CVE-2017-9752)
    
      - The *regs* macros in opcodes/bfin-dis.c in GNU Binutils
        2.28 allow remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of this
        file during 'objdump -D' execution.(CVE-2017-9749)
    
      - The ieee_object_p function in bfd/ieee.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, might allow remote
        attackers to cause a denial of service (buffer overflow
        and application crash) or possibly have unspecified
        other impact via a crafted binary file, as demonstrated
        by mishandling of this file during 'objdump -D'
        execution. NOTE: this may be related to a compiler
        bug.(CVE-2017-9748)
    
      - The ieee_archive_p function in bfd/ieee.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, might allow remote
        attackers to cause a denial of service (buffer overflow
        and application crash) or possibly have unspecified
        other impact via a crafted binary file, as demonstrated
        by mishandling of this file during 'objdump -D'
        execution. NOTE: this may be related to a compiler
        bug.(CVE-2017-9747)
    
      - The disassemble_bytes function in objdump.c in GNU
        Binutils 2.28 allows remote attackers to cause a denial
        of service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of rae
        insns printing for this file during 'objdump -D'
        execution.(CVE-2017-9746)
    
      - The sh_elf_set_mach_from_flags function in
        bfd/elf32-sh.c in the Binary File Descriptor (BFD)
        library (aka libbfd), as distributed in GNU Binutils
        2.28, allows remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of this
        file during 'objdump -D' execution.(CVE-2017-9744)
    
      - The score_opcodes function in opcodes/score7-dis.c in
        GNU Binutils 2.28 allows remote attackers to cause a
        denial of service (buffer overflow and application
        crash) or possibly have unspecified other impact via a
        crafted binary file, as demonstrated by mishandling of
        this file during 'objdump -D' execution.(CVE-2017-9742)
    
      - readelf.c in GNU Binutils 2017-04-12 has a 'cannot be
        represented in type long' issue, which might allow
        remote attackers to cause a denial of service
        (application crash) or possibly have unspecified other
        impact via a crafted ELF file.(CVE-2017-9042)
    
      - GNU Binutils 2017-04-03 allows remote attackers to
        cause a denial of service (NULL pointer dereference and
        application crash), related to the
        process_mips_specific function in readelf.c, via a
        crafted ELF file that triggers a large
        memory-allocation attempt.(CVE-2017-9040)
    
      - The elf_read_notesfunction in bfd/elf.c in GNU Binutils
        2.29 allows remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file.(CVE-2017-12799)
    
      - dwarf.c in GNU Binutils 2.28 is vulnerable to an
        invalid read of size 1 during dumping of debug
        information from a corrupt binary. This vulnerability
        causes programs that conduct an analysis of binary
        programs, such as objdump and readelf, to
        crash.(CVE-2017-8398)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid read of size 1 and an invalid write of size
        1 during processing of a corrupt binary containing
        reloc(s) with negative addresses. This vulnerability
        causes programs that conduct an analysis of binary
        programs using the libbfd library, such as objdump, to
        crash.(CVE-2017-8397)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid read of size 1 because the existing reloc
        offset range tests didn't catch small negative offsets
        less than the size of the reloc field. This
        vulnerability causes programs that conduct an analysis
        of binary programs using the libbfd library, such as
        objdump, to crash.(CVE-2017-8396)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid read (of size 4) because of missing a check
        (in the find_link function) for null headers before
        attempting to match them. This vulnerability causes
        Binutils utilities like strip to crash.(CVE-2017-7303)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, has a
        swap_std_reloc_out function in bfd/aoutx.h that is
        vulnerable to an invalid read (of size 4) because of
        missing checks for relocs that could not be recognised.
        This vulnerability causes Binutils utilities like strip
        to crash.(CVE-2017-7302)
    
      - A NULL pointer dereference (aka SEGV on unknown address
        0x000000000000) was discovered in
        work_stuff_copy_to_from in cplus-dem.c in GNU
        libiberty, as distributed in GNU Binutils 2.30. This
        can occur during execution of objdump.(CVE-2018-12697)
    
      - An issue was discovered in the Binary File Descriptor
        (BFD) library (aka libbfd), as distributed in GNU
        Binutils 2.32. It is a heap-based buffer overflow in
        _bfd_archive_64_bit_slurp_armap in
        archive64.c.(CVE-2019-9075)
    
    Note that Tenable Network Security has extracted the preceding
    description block directly from the EulerOS security advisory. Tenable
    has attempted to automatically clean and format it as much as possible
    without introducing additional issues.");
      # https://developer.huaweicloud.com/ict/en/site-euleros/euleros/security-advisories/EulerOS-SA-2019-1836
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?87a606bf");
      script_set_attribute(attribute:"solution", value:
    "Update the affected binutils packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2019/09/12");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/09/17");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:binutils-devel");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:2.0");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Huawei Local Security Checks");
    
      script_copyright(english:"This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "Host/EulerOS/sp");
      script_exclude_keys("Host/EulerOS/uvp_version");
    
      exit(0);
    }
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    
    release = get_kb_item("Host/EulerOS/release");
    if (isnull(release) || release !~ "^EulerOS") audit(AUDIT_OS_NOT, "EulerOS");
    if (release !~ "^EulerOS release 2\.0(\D|$)") audit(AUDIT_OS_NOT, "EulerOS 2.0");
    
    sp = get_kb_item("Host/EulerOS/sp");
    if (isnull(sp) || sp !~ "^(2)$") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP2");
    
    uvp = get_kb_item("Host/EulerOS/uvp_version");
    if (!empty_or_null(uvp)) audit(AUDIT_OS_NOT, "EulerOS 2.0 SP2", "EulerOS UVP " + uvp);
    
    if (!get_kb_item("Host/EulerOS/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "aarch64" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "EulerOS", cpu);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_ARCH_NOT, "i686 / x86_64", cpu);
    
    flag = 0;
    
    pkgs = ["binutils-2.25.1-22.base.h21",
            "binutils-devel-2.25.1-22.base.h21"];
    
    foreach (pkg in pkgs)
      if (rpm_check(release:"EulerOS-2.0", sp:"2", reference:pkg)) flag++;
    
    if (flag)
    {
      security_report_v4(
        port       : 0,
        severity   : SECURITY_WARNING,
        extra      : rpm_report_get()
      );
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "binutils");
    }
    
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-2041.NASL
    descriptionAccording to the versions of the binutils packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - GNU binutils gold gold v1.11-v1.16 (GNU binutils v2.21-v2.31.1) is affected by: Improper Input Validation, Signed/Unsigned Comparison, Out-of-bounds Read. The impact is: Denial of service. The component is: gold/fileread.cc:497, elfcpp/elfcpp_file.h:644. The attack vector is: An ELF file with an invalid e_shoff header field must be opened.(CVE-2019-1010204) - The _bfd_elf_parse_attributes function in elf-attrs.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.29, allows remote attackers to cause a denial of service (_bfd_elf_attr_strdup heap-based buffer over-read and application crash) via a crafted ELF file.(CVE-2017-14130) - The aarch64_ext_ldst_reglist function in opcodes/aarch64-dis.c in GNU Binutils 2.28 allows remote attackers to cause a denial of service (buffer overflow and application crash) or possibly have unspecified other impact via a crafted binary file, as demonstrated by mishandling of this file during
    last seen2020-05-08
    modified2019-09-24
    plugin id129234
    published2019-09-24
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/129234
    titleEulerOS 2.0 SP3 : binutils (EulerOS-SA-2019-2041)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(129234);
      script_version("1.3");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/07");
    
      script_cve_id(
        "CVE-2017-12799",
        "CVE-2017-14130",
        "CVE-2017-15996",
        "CVE-2017-7302",
        "CVE-2017-8396",
        "CVE-2017-8397",
        "CVE-2017-8398",
        "CVE-2017-9040",
        "CVE-2017-9042",
        "CVE-2017-9742",
        "CVE-2017-9744",
        "CVE-2017-9746",
        "CVE-2017-9747",
        "CVE-2017-9748",
        "CVE-2017-9749",
        "CVE-2017-9752",
        "CVE-2017-9753",
        "CVE-2017-9754",
        "CVE-2017-9756",
        "CVE-2018-12697",
        "CVE-2018-17360",
        "CVE-2019-1010204",
        "CVE-2019-9075"
      );
    
      script_name(english:"EulerOS 2.0 SP3 : binutils (EulerOS-SA-2019-2041)");
      script_summary(english:"Checks the rpm output for the updated packages.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote EulerOS host is missing multiple security updates.");
      script_set_attribute(attribute:"description", value:
    "According to the versions of the binutils packages installed, the
    EulerOS installation on the remote host is affected by the following
    vulnerabilities :
    
      - GNU binutils gold gold v1.11-v1.16 (GNU binutils
        v2.21-v2.31.1) is affected by: Improper Input
        Validation, Signed/Unsigned Comparison, Out-of-bounds
        Read. The impact is: Denial of service. The component
        is: gold/fileread.cc:497, elfcpp/elfcpp_file.h:644. The
        attack vector is: An ELF file with an invalid e_shoff
        header field must be opened.(CVE-2019-1010204)
    
      - The _bfd_elf_parse_attributes function in elf-attrs.c
        in the Binary File Descriptor (BFD) library (aka
        libbfd), as distributed in GNU Binutils 2.29, allows
        remote attackers to cause a denial of service
        (_bfd_elf_attr_strdup heap-based buffer over-read and
        application crash) via a crafted ELF
        file.(CVE-2017-14130)
    
      - The aarch64_ext_ldst_reglist function in
        opcodes/aarch64-dis.c in GNU Binutils 2.28 allows
        remote attackers to cause a denial of service (buffer
        overflow and application crash) or possibly have
        unspecified other impact via a crafted binary file, as
        demonstrated by mishandling of this file during
        'objdump -D' execution.(CVE-2017-9756)
    
      - The process_otr function in bfd/versados.c in the
        Binary File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, does not validate a
        certain offset, which allows remote attackers to cause
        a denial of service (buffer overflow and application
        crash) or possibly have unspecified other impact via a
        crafted binary file, as demonstrated by mishandling of
        this file during 'objdump -D' execution.(CVE-2017-9754)
    
      - The versados_mkobject function in bfd/versados.c in the
        Binary File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, does not initialize a
        certain data structure, which allows remote attackers
        to cause a denial of service (buffer overflow and
        application crash) or possibly have unspecified other
        impact via a crafted binary file, as demonstrated by
        mishandling of this file during 'objdump -D'
        execution.(CVE-2017-9753)
    
      - bfd/vms-alpha.c in the Binary File Descriptor (BFD)
        library (aka libbfd), as distributed in GNU Binutils
        2.28, allows remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of this
        file in the _bfd_vms_get_value and _bfd_vms_slurp_etir
        functions during 'objdump -D' execution.(CVE-2017-9752)
    
      - The *regs* macros in opcodes/bfin-dis.c in GNU Binutils
        2.28 allow remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of this
        file during 'objdump -D' execution.(CVE-2017-9749)
    
      - The ieee_object_p function in bfd/ieee.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, might allow remote
        attackers to cause a denial of service (buffer overflow
        and application crash) or possibly have unspecified
        other impact via a crafted binary file, as demonstrated
        by mishandling of this file during 'objdump -D'
        execution. NOTE: this may be related to a compiler
        bug.(CVE-2017-9748)
    
      - The ieee_archive_p function in bfd/ieee.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, might allow remote
        attackers to cause a denial of service (buffer overflow
        and application crash) or possibly have unspecified
        other impact via a crafted binary file, as demonstrated
        by mishandling of this file during 'objdump -D'
        execution. NOTE: this may be related to a compiler
        bug.(CVE-2017-9747)
    
      - The disassemble_bytes function in objdump.c in GNU
        Binutils 2.28 allows remote attackers to cause a denial
        of service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of rae
        insns printing for this file during 'objdump -D'
        execution.(CVE-2017-9746)
    
      - The sh_elf_set_mach_from_flags function in
        bfd/elf32-sh.c in the Binary File Descriptor (BFD)
        library (aka libbfd), as distributed in GNU Binutils
        2.28, allows remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of this
        file during 'objdump -D' execution.(CVE-2017-9744)
    
      - The score_opcodes function in opcodes/score7-dis.c in
        GNU Binutils 2.28 allows remote attackers to cause a
        denial of service (buffer overflow and application
        crash) or possibly have unspecified other impact via a
        crafted binary file, as demonstrated by mishandling of
        this file during 'objdump -D' execution.(CVE-2017-9742)
    
      - readelf.c in GNU Binutils 2017-04-12 has a 'cannot be
        represented in type long' issue, which might allow
        remote attackers to cause a denial of service
        (application crash) or possibly have unspecified other
        impact via a crafted ELF file.(CVE-2017-9042)
    
      - GNU Binutils 2017-04-03 allows remote attackers to
        cause a denial of service (NULL pointer dereference and
        application crash), related to the
        process_mips_specific function in readelf.c, via a
        crafted ELF file that triggers a large
        memory-allocation attempt.(CVE-2017-9040)
    
      - The elf_read_notesfunction in bfd/elf.c in GNU Binutils
        2.29 allows remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file.(CVE-2017-12799)
    
      - dwarf.c in GNU Binutils 2.28 is vulnerable to an
        invalid read of size 1 during dumping of debug
        information from a corrupt binary. This vulnerability
        causes programs that conduct an analysis of binary
        programs, such as objdump and readelf, to
        crash.(CVE-2017-8398)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid read of size 1 and an invalid write of size
        1 during processing of a corrupt binary containing
        reloc(s) with negative addresses. This vulnerability
        causes programs that conduct an analysis of binary
        programs using the libbfd library, such as objdump, to
        crash.(CVE-2017-8397)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid read of size 1 because the existing reloc
        offset range tests didn't catch small negative offsets
        less than the size of the reloc field. This
        vulnerability causes programs that conduct an analysis
        of binary programs using the libbfd library, such as
        objdump, to crash.(CVE-2017-8396)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, has a
        swap_std_reloc_out function in bfd/aoutx.h that is
        vulnerable to an invalid read (of size 4) because of
        missing checks for relocs that could not be recognised.
        This vulnerability causes Binutils utilities like strip
        to crash.(CVE-2017-7302)
    
      - A NULL pointer dereference (aka SEGV on unknown address
        0x000000000000) was discovered in
        work_stuff_copy_to_from in cplus-dem.c in GNU
        libiberty, as distributed in GNU Binutils 2.30. This
        can occur during execution of objdump.(CVE-2018-12697)
    
      - An issue was discovered in the Binary File Descriptor
        (BFD) library (aka libbfd), as distributed in GNU
        Binutils 2.32. It is a heap-based buffer overflow in
        _bfd_archive_64_bit_slurp_armap in
        archive64.c.(CVE-2019-9075)
    
      - elfcomm.c in readelf in GNU Binutils 2.29 allows remote
        attackers to cause a denial of service (excessive
        memory allocation) or possibly have unspecified other
        impact via a crafted ELF file that triggers a 'buffer
        overflow on fuzzed archive header,' related to an
        uninitialized variable, an improper conditional jump,
        and the get_archive_member_name,
        process_archive_index_and_symbols, and setup_archive
        functions.(CVE-2017-15996)
    
      - An issue was discovered in the Binary File Descriptor
        (BFD) library (aka libbfd), as distributed in GNU
        Binutils 2.31. a heap-based buffer over-read in
        bfd_getl32 in libbfd.c allows an attacker to cause a
        denial of service through a crafted PE file. This
        vulnerability can be triggered by the executable
        objdump.(CVE-2018-17360)
    
    Note that Tenable Network Security has extracted the preceding
    description block directly from the EulerOS security advisory. Tenable
    has attempted to automatically clean and format it as much as possible
    without introducing additional issues.");
      # https://developer.huaweicloud.com/ict/en/site-euleros/euleros/security-advisories/EulerOS-SA-2019-2041
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?3ea3cc85");
      script_set_attribute(attribute:"solution", value:
    "Update the affected binutils packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2019/09/25");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/09/24");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:binutils-devel");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:2.0");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Huawei Local Security Checks");
    
      script_copyright(english:"This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "Host/EulerOS/sp");
      script_exclude_keys("Host/EulerOS/uvp_version");
    
      exit(0);
    }
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    
    release = get_kb_item("Host/EulerOS/release");
    if (isnull(release) || release !~ "^EulerOS") audit(AUDIT_OS_NOT, "EulerOS");
    if (release !~ "^EulerOS release 2\.0(\D|$)") audit(AUDIT_OS_NOT, "EulerOS 2.0");
    
    sp = get_kb_item("Host/EulerOS/sp");
    if (isnull(sp) || sp !~ "^(3)$") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP3");
    
    uvp = get_kb_item("Host/EulerOS/uvp_version");
    if (!empty_or_null(uvp)) audit(AUDIT_OS_NOT, "EulerOS 2.0 SP3", "EulerOS UVP " + uvp);
    
    if (!get_kb_item("Host/EulerOS/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "aarch64" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "EulerOS", cpu);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_ARCH_NOT, "i686 / x86_64", cpu);
    
    flag = 0;
    
    pkgs = ["binutils-2.25.1-22.base.h27",
            "binutils-devel-2.25.1-22.base.h27"];
    
    foreach (pkg in pkgs)
      if (rpm_check(release:"EulerOS-2.0", sp:"3", reference:pkg)) flag++;
    
    if (flag)
    {
      security_report_v4(
        port       : 0,
        severity   : SECURITY_WARNING,
        extra      : rpm_report_get()
      );
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "binutils");
    }
    
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2020-1466.NASL
    descriptionAccording to the versions of the binutils package installed, the EulerOS Virtualization installation on the remote host is affected by the following vulnerabilities : - GNU Binutils 2017-04-03 allows remote attackers to cause a denial of service (NULL pointer dereference and application crash), related to the process_mips_specific function in readelf.c, via a crafted ELF file that triggers a large memory-allocation attempt.(CVE-2017-9040) - The Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, has an aout_link_add_symbols function in bfd/aoutx.h that is vulnerable to a heap-based buffer over-read (off-by-one) because of an incomplete check for invalid string offsets while loading symbols, leading to a GNU linker (ld) program crash.(CVE-2017-7300) - The Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, has an aout_link_add_symbols function in bfd/aoutx.h that has an off-by-one vulnerability because it does not carefully check the string offset. The vulnerability could lead to a GNU linker (ld) program crash.(CVE-2017-7301) - The Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, has a swap_std_reloc_out function in bfd/aoutx.h that is vulnerable to an invalid read (of size 4) because of missing checks for relocs that could not be recognised. This vulnerability causes Binutils utilities like strip to crash.(CVE-2017-7302) - The Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, is vulnerable to an invalid read (of size 4) because of missing a check (in the find_link function) for null headers before attempting to match them. This vulnerability causes Binutils utilities like strip to crash.(CVE-2017-7303) - The Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, is vulnerable to an invalid read (of size 8) because of missing a check (in the copy_special_section_fields function) for an invalid sh_link field before attempting to follow it. This vulnerability causes Binutils utilities like strip to crash.(CVE-2017-7304) - The Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, is vulnerable to a global buffer over-read error because of an assumption made by code that runs for objcopy and strip, that SHT_REL/SHR_RELA sections are always named starting with a .rel/.rela prefix. This vulnerability causes programs that conduct an analysis of binary programs using the libbfd library, such as objcopy and strip, to crash.(CVE-2017-8393) - The Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, is vulnerable to an invalid write of size 8 because of missing a malloc() return-value check to see if memory had actually been allocated in the _bfd_generic_get_section_contents function. This vulnerability causes programs that conduct an analysis of binary programs using the libbfd library, such as objcopy, to crash.(CVE-2017-8395) - The Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, is vulnerable to an invalid read of size 1 because the existing reloc offset range tests didn
    last seen2020-04-30
    modified2020-04-16
    plugin id135628
    published2020-04-16
    reporterThis script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/135628
    titleEulerOS Virtualization 3.0.2.2 : binutils (EulerOS-SA-2020-1466)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(135628);
      script_version("1.2");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/04/24");
    
      script_cve_id(
        "CVE-2017-12451",
        "CVE-2017-12452",
        "CVE-2017-12799",
        "CVE-2017-12967",
        "CVE-2017-13710",
        "CVE-2017-14128",
        "CVE-2017-14129",
        "CVE-2017-14529",
        "CVE-2017-14930",
        "CVE-2017-14932",
        "CVE-2017-14934",
        "CVE-2017-14938",
        "CVE-2017-14939",
        "CVE-2017-14940",
        "CVE-2017-15021",
        "CVE-2017-15022",
        "CVE-2017-15024",
        "CVE-2017-15025",
        "CVE-2017-15225",
        "CVE-2017-15938",
        "CVE-2017-15939",
        "CVE-2017-15996",
        "CVE-2017-16832",
        "CVE-2017-17080",
        "CVE-2017-17121",
        "CVE-2017-17122",
        "CVE-2017-17123",
        "CVE-2017-17124",
        "CVE-2017-17125",
        "CVE-2017-7209",
        "CVE-2017-7299",
        "CVE-2017-7300",
        "CVE-2017-7301",
        "CVE-2017-7302",
        "CVE-2017-7303",
        "CVE-2017-7304",
        "CVE-2017-7614",
        "CVE-2017-8393",
        "CVE-2017-8394",
        "CVE-2017-8395",
        "CVE-2017-8396",
        "CVE-2017-8397",
        "CVE-2017-8398",
        "CVE-2017-9038",
        "CVE-2017-9039",
        "CVE-2017-9040",
        "CVE-2017-9041",
        "CVE-2017-9042",
        "CVE-2017-9742",
        "CVE-2017-9744",
        "CVE-2017-9745",
        "CVE-2017-9746",
        "CVE-2017-9747",
        "CVE-2017-9748",
        "CVE-2017-9749",
        "CVE-2017-9750",
        "CVE-2017-9751",
        "CVE-2017-9752",
        "CVE-2017-9753",
        "CVE-2017-9754",
        "CVE-2017-9755",
        "CVE-2017-9756",
        "CVE-2017-9954",
        "CVE-2017-9955",
        "CVE-2018-12697",
        "CVE-2018-17358",
        "CVE-2018-17359",
        "CVE-2018-17360",
        "CVE-2018-18483",
        "CVE-2018-18605",
        "CVE-2018-18606",
        "CVE-2018-18607",
        "CVE-2018-19931",
        "CVE-2018-20657",
        "CVE-2018-6323",
        "CVE-2019-1010180",
        "CVE-2019-1010204",
        "CVE-2019-12972",
        "CVE-2019-14250",
        "CVE-2019-17451",
        "CVE-2019-9070",
        "CVE-2019-9071",
        "CVE-2019-9074",
        "CVE-2019-9075",
        "CVE-2019-9076"
      );
    
      script_name(english:"EulerOS Virtualization 3.0.2.2 : binutils (EulerOS-SA-2020-1466)");
      script_summary(english:"Checks the rpm output for the updated packages.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote EulerOS Virtualization host is missing multiple security
    updates.");
      script_set_attribute(attribute:"description", value:
    "According to the versions of the binutils package installed, the
    EulerOS Virtualization installation on the remote host is affected by
    the following vulnerabilities :
    
      - GNU Binutils 2017-04-03 allows remote attackers to
        cause a denial of service (NULL pointer dereference and
        application crash), related to the
        process_mips_specific function in readelf.c, via a
        crafted ELF file that triggers a large
        memory-allocation attempt.(CVE-2017-9040)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, has an
        aout_link_add_symbols function in bfd/aoutx.h that is
        vulnerable to a heap-based buffer over-read
        (off-by-one) because of an incomplete check for invalid
        string offsets while loading symbols, leading to a GNU
        linker (ld) program crash.(CVE-2017-7300)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, has an
        aout_link_add_symbols function in bfd/aoutx.h that has
        an off-by-one vulnerability because it does not
        carefully check the string offset. The vulnerability
        could lead to a GNU linker (ld) program
        crash.(CVE-2017-7301)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, has a
        swap_std_reloc_out function in bfd/aoutx.h that is
        vulnerable to an invalid read (of size 4) because of
        missing checks for relocs that could not be recognised.
        This vulnerability causes Binutils utilities like strip
        to crash.(CVE-2017-7302)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid read (of size 4) because of missing a check
        (in the find_link function) for null headers before
        attempting to match them. This vulnerability causes
        Binutils utilities like strip to crash.(CVE-2017-7303)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid read (of size 8) because of missing a check
        (in the copy_special_section_fields function) for an
        invalid sh_link field before attempting to follow it.
        This vulnerability causes Binutils utilities like strip
        to crash.(CVE-2017-7304)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to a
        global buffer over-read error because of an assumption
        made by code that runs for objcopy and strip, that
        SHT_REL/SHR_RELA sections are always named starting
        with a .rel/.rela prefix. This vulnerability causes
        programs that conduct an analysis of binary programs
        using the libbfd library, such as objcopy and strip, to
        crash.(CVE-2017-8393)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid write of size 8 because of missing a
        malloc() return-value check to see if memory had
        actually been allocated in the
        _bfd_generic_get_section_contents function. This
        vulnerability causes programs that conduct an analysis
        of binary programs using the libbfd library, such as
        objcopy, to crash.(CVE-2017-8395)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid read of size 1 because the existing reloc
        offset range tests didn't catch small negative offsets
        less than the size of the reloc field. This
        vulnerability causes programs that conduct an analysis
        of binary programs using the libbfd library, such as
        objdump, to crash.(CVE-2017-8396)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid read of size 1 and an invalid write of size
        1 during processing of a corrupt binary containing
        reloc(s) with negative addresses. This vulnerability
        causes programs that conduct an analysis of binary
        programs using the libbfd library, such as objdump, to
        crash.(CVE-2017-8397)
    
      - dwarf.c in GNU Binutils 2.28 is vulnerable to an
        invalid read of size 1 during dumping of debug
        information from a corrupt binary. This vulnerability
        causes programs that conduct an analysis of binary
        programs, such as objdump and readelf, to
        crash.(CVE-2017-8398)
    
      - find_abstract_instance_name in dwarf2.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.29, allows remote
        attackers to cause a denial of service (infinite
        recursion and application crash) via a crafted ELF
        file.(CVE-2017-15024)
    
      - The setup_group function in elf.c in the Binary File
        Descriptor (BFD) library (aka libbfd), as distributed
        in GNU Binutils 2.29, allows remote attackers to cause
        a denial of service (NULL pointer dereference and
        application crash) via a group section that is too
        small.(CVE-2017-13710)
    
      - The elf_read_notesfunction in bfd/elf.c in GNU Binutils
        2.29 allows remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file.(CVE-2017-12799)
    
      - elfcomm.c in readelf in GNU Binutils 2.29 allows remote
        attackers to cause a denial of service (excessive
        memory allocation) or possibly have unspecified other
        impact via a crafted ELF file that triggers a 'buffer
        overflow on fuzzed archive header,' related to an
        uninitialized variable, an improper conditional jump,
        and the get_archive_member_name,
        process_archive_index_and_symbols, and setup_archive
        functions.(CVE-2017-15996)
    
      - readelf.c in GNU Binutils 2017-04-12 has a 'cannot be
        represented in type long' issue, which might allow
        remote attackers to cause a denial of service
        (application crash) or possibly have unspecified other
        impact via a crafted ELF file.(CVE-2017-9042)
    
      - The score_opcodes function in opcodes/score7-dis.c in
        GNU Binutils 2.28 allows remote attackers to cause a
        denial of service (buffer overflow and application
        crash) or possibly have unspecified other impact via a
        crafted binary file, as demonstrated by mishandling of
        this file during 'objdump -D' execution.(CVE-2017-9742)
    
      - The sh_elf_set_mach_from_flags function in
        bfd/elf32-sh.c in the Binary File Descriptor (BFD)
        library (aka libbfd), as distributed in GNU Binutils
        2.28, allows remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of this
        file during 'objdump -D' execution.(CVE-2017-9744)
    
      - The disassemble_bytes function in objdump.c in GNU
        Binutils 2.28 allows remote attackers to cause a denial
        of service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of rae
        insns printing for this file during 'objdump -D'
        execution.(CVE-2017-9746)
    
      - The ieee_archive_p function in bfd/ieee.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, might allow remote
        attackers to cause a denial of service (buffer overflow
        and application crash) or possibly have unspecified
        other impact via a crafted binary file, as demonstrated
        by mishandling of this file during 'objdump -D'
        execution. NOTE: this may be related to a compiler
        bug.(CVE-2017-9747)
    
      - The ieee_object_p function in bfd/ieee.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, might allow remote
        attackers to cause a denial of service (buffer overflow
        and application crash) or possibly have unspecified
        other impact via a crafted binary file, as demonstrated
        by mishandling of this file during 'objdump -D'
        execution. NOTE: this may be related to a compiler
        bug.(CVE-2017-9748)
    
      - The *regs* macros in opcodes/bfin-dis.c in GNU Binutils
        2.28 allow remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of this
        file during 'objdump -D' execution.(CVE-2017-9749)
    
      - opcodes/rx-decode.opc in GNU Binutils 2.28 lacks bounds
        checks for certain scale arrays, which allows remote
        attackers to cause a denial of service (buffer overflow
        and application crash) or possibly have unspecified
        other impact via a crafted binary file, as demonstrated
        by mishandling of this file during 'objdump -D'
        execution.(CVE-2017-9750)
    
      - opcodes/rl78-decode.opc in GNU Binutils 2.28 has an
        unbounded GETBYTE macro, which allows remote attackers
        to cause a denial of service (buffer overflow and
        application crash) or possibly have unspecified other
        impact via a crafted binary file, as demonstrated by
        mishandling of this file during 'objdump -D'
        execution.(CVE-2017-9751)
    
      - bfd/vms-alpha.c in the Binary File Descriptor (BFD)
        library (aka libbfd), as distributed in GNU Binutils
        2.28, allows remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of this
        file in the _bfd_vms_get_value and _bfd_vms_slurp_etir
        functions during 'objdump -D' execution.(CVE-2017-9752)
    
      - The versados_mkobject function in bfd/versados.c in the
        Binary File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, does not initialize a
        certain data structure, which allows remote attackers
        to cause a denial of service (buffer overflow and
        application crash) or possibly have unspecified other
        impact via a crafted binary file, as demonstrated by
        mishandling of this file during 'objdump -D'
        execution.(CVE-2017-9753)
    
      - The process_otr function in bfd/versados.c in the
        Binary File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, does not validate a
        certain offset, which allows remote attackers to cause
        a denial of service (buffer overflow and application
        crash) or possibly have unspecified other impact via a
        crafted binary file, as demonstrated by mishandling of
        this file during 'objdump -D' execution.(CVE-2017-9754)
    
      - opcodes/i386-dis.c in GNU Binutils 2.28 does not
        consider the number of registers for bnd mode, which
        allows remote attackers to cause a denial of service
        (buffer overflow and application crash) or possibly
        have unspecified other impact via a crafted binary
        file, as demonstrated by mishandling of this file
        during 'objdump -D' execution.(CVE-2017-9755)
    
      - The aarch64_ext_ldst_reglist function in
        opcodes/aarch64-dis.c in GNU Binutils 2.28 allows
        remote attackers to cause a denial of service (buffer
        overflow and application crash) or possibly have
        unspecified other impact via a crafted binary file, as
        demonstrated by mishandling of this file during
        'objdump -D' execution.(CVE-2017-9756)
    
      - The elf_object_p function in elfcode.h in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.29.1, has an unsigned
        integer overflow because bfd_size_type multiplication
        is not used. A crafted ELF file allows remote attackers
        to cause a denial of service (application crash) or
        possibly have unspecified other impact.(CVE-2018-6323)
    
      - elflink.c in the Binary File Descriptor (BFD) library
        (aka libbfd), as distributed in GNU Binutils 2.28, has
        a 'member access within null pointer' undefined
        behavior issue, which might allow remote attackers to
        cause a denial of service (application crash) or
        possibly have unspecified other impact via an 'int
        main() {return 0}' program.(CVE-2017-7614)
    
      - An issue was discovered in the Binary File Descriptor
        (BFD) library (aka libbfd), as distributed in GNU
        Binutils 2.32. It is a heap-based buffer overflow in
        _bfd_archive_64_bit_slurp_armap in
        archive64.c.(CVE-2019-9075)
    
      - A NULL pointer dereference (aka SEGV on unknown address
        0x000000000000) was discovered in
        work_stuff_copy_to_from in cplus-dem.c in GNU
        libiberty, as distributed in GNU Binutils 2.30. This
        can occur during execution of objdump.(CVE-2018-12697)
    
      - The bfd_mach_o_i386_canonicalize_one_reloc function in
        bfd/mach-o-i386.c in the Binary File Descriptor (BFD)
        library (aka libbfd), as distributed in GNU Binutils
        2.29 and earlier, allows remote attackers to cause an
        out of bounds heap read via a crafted mach-o
        file.(CVE-2017-12452)
    
      - GNU binutils gold gold v1.11-v1.16 (GNU binutils
        v2.21-v2.31.1) is affected by: Improper Input
        Validation, Signed/Unsigned Comparison, Out-of-bounds
        Read. The impact is: Denial of service. The component
        is: gold/fileread.cc:497, elfcpp/elfcpp_file.h:644. The
        attack vector is: An ELF file with an invalid e_shoff
        header field must be opened.(CVE-2019-1010204)
    
      - The _bfd_xcoff_read_ar_hdr function in
        bfd/coff-rs6000.c and bfd/coff64-rs6000.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.29 and earlier, allows
        remote attackers to cause an out of bounds stack read
        via a crafted COFF image file.(CVE-2017-12451)
    
      - The dump_relocs_in_section function in objdump.c in GNU
        Binutils 2.29.1 does not check for reloc count integer
        overflows, which allows remote attackers to cause a
        denial of service (excessive memory allocation, or
        heap-based buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted PE
        file.(CVE-2017-17122)
    
      - The _bfd_coff_read_string_table function in coffgen.c
        in the Binary File Descriptor (BFD) library (aka
        libbfd), as distributed in GNU Binutils 2.29.1, does
        not properly validate the size of the external string
        table, which allows remote attackers to cause a denial
        of service (excessive memory consumption, or heap-based
        buffer overflow and application crash) or possibly have
        unspecified other impact via a crafted COFF
        binary.(CVE-2017-17124)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.29.1, allows remote
        attackers to cause a denial of service (memory access
        violation) or possibly have unspecified other impact
        via a COFF binary in which a relocation refers to a
        location after the end of the to-be-relocated
        section.(CVE-2017-17121)
    
      - nm.c and objdump.c in GNU Binutils 2.29.1 mishandle
        certain global symbols, which allows remote attackers
        to cause a denial of service
        (_bfd_elf_get_symbol_version_string buffer over-read
        and application crash) or possibly have unspecified
        other impact via a crafted ELF file.(CVE-2017-17125)
    
      - The pe_bfd_read_buildid function in peicode.h in the
        Binary File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.29.1, does not validate
        size and offset values in the data dictionary, which
        allows remote attackers to cause a denial of service
        (segmentation violation and application crash) or
        possibly have unspecified other impact via a crafted PE
        file.(CVE-2017-16832)
    
      - dwarf2.c in the Binary File Descriptor (BFD) library
        (aka libbfd), as distributed in GNU Binutils 2.29,
        miscalculates DW_FORM_ref_addr die refs in the case of
        a relocatable object file, which allows remote
        attackers to cause a denial of service
        (find_abstract_instance_name invalid memory read,
        segmentation fault, and application
        crash).(CVE-2017-15938)
    
      - The _bfd_vms_slurp_etir function in bfd/vms-alpha.c in
        the Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, allows remote
        attackers to cause a denial of service (buffer overflow
        and application crash) or possibly have unspecified
        other impact via a crafted binary file, as demonstrated
        by mishandling of this file during 'objdump -D'
        execution.(CVE-2017-9745)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid read of size 4 due to NULL pointer
        dereferencing of _bfd_elf_large_com_section. This
        vulnerability causes programs that conduct an analysis
        of binary programs using the libbfd library, such as
        objcopy, to crash.(CVE-2017-8394)
    
      - The getsym function in tekhex.c in the Binary File
        Descriptor (BFD) library (aka libbfd), as distributed
        in GNU Binutils 2.29, allows remote attackers to cause
        a denial of service (stack-based buffer over-read and
        application crash) via a malformed tekhex
        binary.(CVE-2017-12967)
    
      - The getvalue function in tekhex.c in the Binary File
        Descriptor (BFD) library (aka libbfd), as distributed
        in GNU Binutils 2.28, allows remote attackers to cause
        a denial of service (stack-based buffer over-read and
        application crash) via a crafted tekhex file, as
        demonstrated by mishandling within the nm
        program.(CVE-2017-9954)
    
      - The get_build_id function in opncls.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, allows remote
        attackers to cause a denial of service (heap-based
        buffer over-read and application crash) via a crafted
        file in which a certain size field is larger than a
        corresponding data field, as demonstrated by
        mishandling within the objdump program.(CVE-2017-9955)
    
      - GNU Binutils 2.28 allows remote attackers to cause a
        denial of service (heap-based buffer over-read and
        application crash) via a crafted ELF file, related to
        MIPS GOT mishandling in the process_mips_specific
        function in readelf.c.(CVE-2017-9041)
    
      - GNU Binutils 2.28 allows remote attackers to cause a
        denial of service (heap-based buffer over-read and
        application crash) via a crafted ELF file, related to
        the byte_get_little_endian function in elfcomm.c, the
        get_unwind_section_word function in readelf.c, and ARM
        unwind information that contains invalid word
        offsets.(CVE-2017-9038)
    
      - The dump_section_as_bytes function in readelf in GNU
        Binutils 2.28 accesses a NULL pointer while reading
        section contents in a corrupt binary, leading to a
        program crash.(CVE-2017-7209)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, has an invalid
        read (of size 8) because the code to emit relocs
        (bfd_elf_final_link function in bfd/elflink.c) does not
        check the format of the input file before trying to
        read the ELF reloc section header. The vulnerability
        leads to a GNU linker (ld) program
        crash.(CVE-2017-7299)
    
      - An issue was discovered in the Binary File Descriptor
        (BFD) library (aka libbfd), as distributed in GNU
        Binutils 2.31. a heap-based buffer over-read in
        bfd_getl32 in libbfd.c allows an attacker to cause a
        denial of service through a crafted PE file. This
        vulnerability can be triggered by the executable
        objdump.(CVE-2018-17360)
    
      - The coff_slurp_reloc_table function in coffcode.h in
        the Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.29.1, allows remote
        attackers to cause a denial of service (NULL pointer
        dereference and application crash) via a crafted COFF
        based file.(CVE-2017-17123)
    
      - elf.c in the Binary File Descriptor (BFD) library (aka
        libbfd), as distributed in GNU Binutils 2.29.1, does
        not validate sizes of core notes, which allows remote
        attackers to cause a denial of service (bfd_getl32
        heap-based buffer over-read and application crash) via
        a crafted object file, related to
        elfcore_grok_netbsd_procinfo,
        elfcore_grok_openbsd_procinfo, and
        elfcore_grok_nto_status.(CVE-2017-17080)
    
      - _bfd_dwarf2_cleanup_debug_info in dwarf2.c in the
        Binary File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.29, allows remote
        attackers to cause a denial of service (memory leak)
        via a crafted ELF file.(CVE-2017-15225)
    
      - process_debug_info in dwarf.c in the Binary File
        Descriptor (BFD) library (aka libbfd), as distributed
        in GNU Binutils 2.29, allows remote attackers to cause
        a denial of service (infinite loop) via a crafted ELF
        file that contains a negative size value in a CU
        structure.(CVE-2017-14934)
    
      - dwarf2.c in the Binary File Descriptor (BFD) library
        (aka libbfd), as distributed in GNU Binutils 2.29,
        mishandles NULL files in a .debug_line file table,
        which allows remote attackers to cause a denial of
        service (NULL pointer dereference and application
        crash) via a crafted ELF file, related to
        concat_filename. NOTE: this issue is caused by an
        incomplete fix for CVE-2017-15023.(CVE-2017-15939)
    
      - decode_line_info in dwarf2.c in the Binary File
        Descriptor (BFD) library (aka libbfd), as distributed
        in GNU Binutils 2.29, allows remote attackers to cause
        a denial of service (infinite loop) via a crafted ELF
        file.(CVE-2017-14932)
    
      - dwarf2.c in the Binary File Descriptor (BFD) library
        (aka libbfd), as distributed in GNU Binutils 2.29, does
        not validate the DW_AT_name data type, which allows
        remote attackers to cause a denial of service
        (bfd_hash_hash NULL pointer dereference, or
        out-of-bounds access, and application crash) via a
        crafted ELF file, related to scan_unit_for_symbols and
        parse_comp_unit.(CVE-2017-15022)
    
      - bfd_get_debug_link_info_1 in opncls.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.29, allows remote
        attackers to cause a denial of service (heap-based
        buffer over-read and application crash) via a crafted
        ELF file, related to bfd_getl32.(CVE-2017-15021)
    
      - Memory leak in decode_line_info in dwarf2.c in the
        Binary File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.29, allows remote
        attackers to cause a denial of service (memory
        consumption) via a crafted ELF file.(CVE-2017-14930)
    
      - decode_line_info in dwarf2.c in the Binary File
        Descriptor (BFD) library (aka libbfd), as distributed
        in GNU Binutils 2.29, allows remote attackers to cause
        a denial of service (divide-by-zero error and
        application crash) via a crafted ELF
        file.(CVE-2017-15025)
    
      - decode_line_info in dwarf2.c in the Binary File
        Descriptor (BFD) library (aka libbfd), as distributed
        in GNU Binutils 2.29, mishandles a length calculation,
        which allows remote attackers to cause a denial of
        service (heap-based buffer over-read and application
        crash) via a crafted ELF file, related to
        read_1_byte.(CVE-2017-14939)
    
      - scan_unit_for_symbols in dwarf2.c in the Binary File
        Descriptor (BFD) library (aka libbfd), as distributed
        in GNU Binutils 2.29, allows remote attackers to cause
        a denial of service (NULL pointer dereference and
        application crash) via a crafted ELF
        file.(CVE-2017-14940)
    
      - _bfd_elf_slurp_version_tables in elf.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.29, allows remote
        attackers to cause a denial of service (excessive
        memory allocation and application crash) via a crafted
        ELF file.(CVE-2017-14938)
    
      - The pe_print_idata function in peXXigen.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.29, mishandles HintName
        vector entries, which allows remote attackers to cause
        a denial of service (heap-based buffer over-read and
        application crash) via a crafted PE file, related to
        the bfd_getl16 function.(CVE-2017-14529)
    
      - The decode_line_info function in dwarf2.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.29, allows remote
        attackers to cause a denial of service (read_1_byte
        heap-based buffer over-read and application crash) via
        a crafted ELF file.(CVE-2017-14128)
    
      - GNU Binutils 2.28 allows remote attackers to cause a
        denial of service (memory consumption) via a crafted
        ELF file with many program headers, related to the
        get_program_headers function in
        readelf.c.(CVE-2017-9039)
    
      - An issue was discovered in elf_link_input_bfd in
        elflink.c in the Binary File Descriptor (BFD) library
        (aka libbfd), as distributed in GNU Binutils 2.31.
        There is a NULL pointer dereference in
        elf_link_input_bfd when used for finding STT_TLS
        symbols without any TLS section. A specially crafted
        ELF allows remote attackers to cause a denial of
        service, as demonstrated by ld.(CVE-2018-18607)
    
      - An issue was discovered in the merge_strings function
        in merge.c in the Binary File Descriptor (BFD) library
        (aka libbfd), as distributed in GNU Binutils 2.31.
        There is a NULL pointer dereference in
        _bfd_add_merge_section when attempting to merge
        sections with large alignments. A specially crafted ELF
        allows remote attackers to cause a denial of service,
        as demonstrated by ld.(CVE-2018-18606)
    
      - A heap-based buffer over-read issue was discovered in
        the function sec_merge_hash_lookup in merge.c in the
        Binary File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.31, because
        _bfd_add_merge_section mishandles section merges when
        size is not a multiple of entsize. A specially crafted
        ELF allows remote attackers to cause a denial of
        service, as demonstrated by ld.(CVE-2018-18605)
    
      - An issue was discovered in the Binary File Descriptor
        (BFD) library (aka libbfd), as distributed in GNU
        Binutils 2.32. It is an integer overflow leading to a
        SEGV in _bfd_dwarf2_find_nearest_line in dwarf2.c, as
        demonstrated by nm.(CVE-2019-17451)
    
      - An issue was discovered in the Binary File Descriptor
        (BFD) library (aka libbfd), as distributed in GNU
        Binutils 2.32. There is a heap-based buffer over-read
        in _bfd_doprnt in bfd.c because elf_object_p in
        elfcode.h mishandles an e_shstrndx section of type
        SHT_GROUP by omitting a trailing '\0'
        character.(CVE-2019-12972)
    
      - An issue was discovered in the Binary File Descriptor
        (BFD) library (aka libbfd), as distributed in GNU
        Binutils through 2.31. There is a heap-based buffer
        overflow in bfd_elf32_swap_phdr_in in elfcode.h because
        the number of program headers is not
        restricted.(CVE-2018-19931)
    
      - GNU gdb All versions is affected by: Buffer Overflow -
        Out of bound memory access. The impact is: Deny of
        Service, Memory Disclosure, and Possible Code
        Execution. The component is: The main gdb module. The
        attack vector is: Open an ELF for debugging. The fixed
        version is: Not fixed yet.(CVE-2019-1010180)
    
      - An issue was discovered in the Binary File Descriptor
        (BFD) library (aka libbfd), as distributed in GNU
        Binutils 2.31. An invalid memory access exists in
        bfd_zalloc in opncls.c. Attackers could leverage this
        vulnerability to cause a denial of service (application
        crash) via a crafted ELF file.(CVE-2018-17359)
    
      - An issue was discovered in the Binary File Descriptor
        (BFD) library (aka libbfd), as distributed in GNU
        Binutils 2.31. An invalid memory access exists in
        _bfd_stab_section_find_nearest_line in syms.c.
        Attackers could leverage this vulnerability to cause a
        denial of service (application crash) via a crafted ELF
        file.(CVE-2018-17358)
    
      - The read_section function in dwarf2.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.29, allows remote
        attackers to cause a denial of service (parse_comp_unit
        heap-based buffer over-read and application crash) via
        a crafted ELF file.(CVE-2017-14129)
    
      - An issue was discovered in the Binary File Descriptor
        (BFD) library (aka libbfd), as distributed in GNU
        Binutils 2.32. It is an attempted excessive memory
        allocation in elf_read_notes in elf.c.(CVE-2019-9076)
    
      - An issue was discovered in the Binary File Descriptor
        (BFD) library (aka libbfd), as distributed in GNU
        Binutils 2.32. It is an out-of-bounds read leading to a
        SEGV in bfd_getl32 in libbfd.c, when called from
        pex64_get_runtime_function in
        pei-x86_64.c.(CVE-2019-9074)
    
      - An issue was discovered in GNU libiberty, as
        distributed in GNU Binutils 2.32.
        simple_object_elf_match in simple-object-elf.c does not
        check for a zero shstrndx value, leading to an integer
        overflow and resultant heap-based buffer
        overflow.(CVE-2019-14250)
    
      - An issue was discovered in GNU libiberty, as
        distributed in GNU Binutils 2.32. It is a stack
        consumption issue in d_count_templates_scopes in
        cp-demangle.c after many recursive calls(CVE-2019-9071)
    
      - An issue was discovered in GNU libiberty, as
        distributed in GNU Binutils 2.32. It is a heap-based
        buffer over-read in d_expression_1 in cp-demangle.c
        after many recursive calls.(CVE-2019-9070)
    
      - The demangle_template function in cplus-dem.c in GNU
        libiberty, as distributed in GNU Binutils 2.31.1, has a
        memory leak via a crafted string, leading to a denial
        of service (memory consumption), as demonstrated by
        cxxfilt, a related issue to
        CVE-2018-12698.(CVE-2018-20657)
    
      - The get_count function in cplus-dem.c in GNU libiberty,
        as distributed in GNU Binutils 2.31, allows remote
        attackers to cause a denial of service (malloc called
        with the result of an integer-overflowing calculation)
        or possibly have unspecified other impact via a crafted
        string, as demonstrated by c++filt.(CVE-2018-18483)
    
    Note that Tenable Network Security has extracted the preceding
    description block directly from the EulerOS security advisory. Tenable
    has attempted to automatically clean and format it as much as possible
    without introducing additional issues.");
      # https://developer.huaweicloud.com/ict/en/site-euleros/euleros/security-advisories/EulerOS-SA-2020-1466
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?00bc140a");
      script_set_attribute(attribute:"solution", value:
    "Update the affected binutils packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2020/04/16");
      script_set_attribute(attribute:"plugin_publication_date", value:"2020/04/16");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:binutils");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:uvp:3.0.2.2");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Huawei Local Security Checks");
    
      script_copyright(english:"This script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "Host/EulerOS/uvp_version");
    
      exit(0);
    }
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    
    release = get_kb_item("Host/EulerOS/release");
    if (isnull(release) || release !~ "^EulerOS") audit(AUDIT_OS_NOT, "EulerOS");
    uvp = get_kb_item("Host/EulerOS/uvp_version");
    if (uvp != "3.0.2.2") audit(AUDIT_OS_NOT, "EulerOS Virtualization 3.0.2.2");
    if (!get_kb_item("Host/EulerOS/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "aarch64" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "EulerOS", cpu);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_ARCH_NOT, "i686 / x86_64", cpu);
    
    flag = 0;
    
    pkgs = ["binutils-2.27-28.base.1.h40.eulerosv2r7"];
    
    foreach (pkg in pkgs)
      if (rpm_check(release:"EulerOS-2.0", reference:pkg)) flag++;
    
    if (flag)
    {
      security_report_v4(
        port       : 0,
        severity   : SECURITY_HOLE,
        extra      : rpm_report_get()
      );
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "binutils");
    }
    
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-1940.NASL
    descriptionAccording to the versions of the binutils package installed, the EulerOS Virtualization for ARM 64 installation on the remote host is affected by the following vulnerabilities : - GNU Binutils 2017-04-03 allows remote attackers to cause a denial of service (NULL pointer dereference and application crash), related to the process_mips_specific function in readelf.c, via a crafted ELF file that triggers a large memory-allocation attempt.(CVE-2017-9040) - The Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, has an aout_link_add_symbols function in bfd/aoutx.h that is vulnerable to a heap-based buffer over-read (off-by-one) because of an incomplete check for invalid string offsets while loading symbols, leading to a GNU linker (ld) program crash.(CVE-2017-7300) - The Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, has an aout_link_add_symbols function in bfd/aoutx.h that has an off-by-one vulnerability because it does not carefully check the string offset. The vulnerability could lead to a GNU linker (ld) program crash.(CVE-2017-7301) - The Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, has a swap_std_reloc_out function in bfd/aoutx.h that is vulnerable to an invalid read (of size 4) because of missing checks for relocs that could not be recognised. This vulnerability causes Binutils utilities like strip to crash.(CVE-2017-7302) - The Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, is vulnerable to an invalid read (of size 4) because of missing a check (in the find_link function) for null headers before attempting to match them. This vulnerability causes Binutils utilities like strip to crash.(CVE-2017-7303) - The Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, is vulnerable to an invalid read (of size 8) because of missing a check (in the copy_special_section_fields function) for an invalid sh_link field before attempting to follow it. This vulnerability causes Binutils utilities like strip to crash.(CVE-2017-7304) - The Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, is vulnerable to a global buffer over-read error because of an assumption made by code that runs for objcopy and strip, that SHT_REL/SHR_RELA sections are always named starting with a .rel/.rela prefix. This vulnerability causes programs that conduct an analysis of binary programs using the libbfd library, such as objcopy and strip, to crash.(CVE-2017-8393) - The Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, is vulnerable to an invalid write of size 8 because of missing a malloc() return-value check to see if memory had actually been allocated in the _bfd_generic_get_section_contents function. This vulnerability causes programs that conduct an analysis of binary programs using the libbfd library, such as objcopy, to crash.(CVE-2017-8395) - The Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, is vulnerable to an invalid read of size 1 because the existing reloc offset range tests didn
    last seen2020-06-01
    modified2020-06-02
    plugin id128943
    published2019-09-17
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/128943
    titleEulerOS Virtualization for ARM 64 3.0.2.0 : binutils (EulerOS-SA-2019-1940)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(128943);
      script_version("1.3");
      script_cvs_date("Date: 2019/12/03");
    
      script_cve_id(
        "CVE-2017-12451",
        "CVE-2017-12452",
        "CVE-2017-12799",
        "CVE-2017-13710",
        "CVE-2017-15024",
        "CVE-2017-15996",
        "CVE-2017-7300",
        "CVE-2017-7301",
        "CVE-2017-7302",
        "CVE-2017-7303",
        "CVE-2017-7304",
        "CVE-2017-7614",
        "CVE-2017-8393",
        "CVE-2017-8395",
        "CVE-2017-8396",
        "CVE-2017-8397",
        "CVE-2017-8398",
        "CVE-2017-9040",
        "CVE-2017-9042",
        "CVE-2017-9742",
        "CVE-2017-9744",
        "CVE-2017-9746",
        "CVE-2017-9747",
        "CVE-2017-9748",
        "CVE-2017-9749",
        "CVE-2017-9750",
        "CVE-2017-9751",
        "CVE-2017-9752",
        "CVE-2017-9753",
        "CVE-2017-9754",
        "CVE-2017-9755",
        "CVE-2017-9756",
        "CVE-2018-12697",
        "CVE-2018-6323",
        "CVE-2019-1010204",
        "CVE-2019-9075"
      );
    
      script_name(english:"EulerOS Virtualization for ARM 64 3.0.2.0 : binutils (EulerOS-SA-2019-1940)");
      script_summary(english:"Checks the rpm output for the updated packages.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote EulerOS Virtualization for ARM 64 host is missing multiple security
    updates.");
      script_set_attribute(attribute:"description", value:
    "According to the versions of the binutils package installed, the
    EulerOS Virtualization for ARM 64 installation on the remote host is
    affected by the following vulnerabilities :
    
      - GNU Binutils 2017-04-03 allows remote attackers to
        cause a denial of service (NULL pointer dereference and
        application crash), related to the
        process_mips_specific function in readelf.c, via a
        crafted ELF file that triggers a large
        memory-allocation attempt.(CVE-2017-9040)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, has an
        aout_link_add_symbols function in bfd/aoutx.h that is
        vulnerable to a heap-based buffer over-read
        (off-by-one) because of an incomplete check for invalid
        string offsets while loading symbols, leading to a GNU
        linker (ld) program crash.(CVE-2017-7300)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, has an
        aout_link_add_symbols function in bfd/aoutx.h that has
        an off-by-one vulnerability because it does not
        carefully check the string offset. The vulnerability
        could lead to a GNU linker (ld) program
        crash.(CVE-2017-7301)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, has a
        swap_std_reloc_out function in bfd/aoutx.h that is
        vulnerable to an invalid read (of size 4) because of
        missing checks for relocs that could not be recognised.
        This vulnerability causes Binutils utilities like strip
        to crash.(CVE-2017-7302)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid read (of size 4) because of missing a check
        (in the find_link function) for null headers before
        attempting to match them. This vulnerability causes
        Binutils utilities like strip to crash.(CVE-2017-7303)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid read (of size 8) because of missing a check
        (in the copy_special_section_fields function) for an
        invalid sh_link field before attempting to follow it.
        This vulnerability causes Binutils utilities like strip
        to crash.(CVE-2017-7304)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to a
        global buffer over-read error because of an assumption
        made by code that runs for objcopy and strip, that
        SHT_REL/SHR_RELA sections are always named starting
        with a .rel/.rela prefix. This vulnerability causes
        programs that conduct an analysis of binary programs
        using the libbfd library, such as objcopy and strip, to
        crash.(CVE-2017-8393)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid write of size 8 because of missing a
        malloc() return-value check to see if memory had
        actually been allocated in the
        _bfd_generic_get_section_contents function. This
        vulnerability causes programs that conduct an analysis
        of binary programs using the libbfd library, such as
        objcopy, to crash.(CVE-2017-8395)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid read of size 1 because the existing reloc
        offset range tests didn't catch small negative offsets
        less than the size of the reloc field. This
        vulnerability causes programs that conduct an analysis
        of binary programs using the libbfd library, such as
        objdump, to crash.(CVE-2017-8396)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid read of size 1 and an invalid write of size
        1 during processing of a corrupt binary containing
        reloc(s) with negative addresses. This vulnerability
        causes programs that conduct an analysis of binary
        programs using the libbfd library, such as objdump, to
        crash.(CVE-2017-8397)
    
      - dwarf.c in GNU Binutils 2.28 is vulnerable to an
        invalid read of size 1 during dumping of debug
        information from a corrupt binary. This vulnerability
        causes programs that conduct an analysis of binary
        programs, such as objdump and readelf, to
        crash.(CVE-2017-8398)
    
      - find_abstract_instance_name in dwarf2.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.29, allows remote
        attackers to cause a denial of service (infinite
        recursion and application crash) via a crafted ELF
        file.(CVE-2017-15024)
    
      - The setup_group function in elf.c in the Binary File
        Descriptor (BFD) library (aka libbfd), as distributed
        in GNU Binutils 2.29, allows remote attackers to cause
        a denial of service (NULL pointer dereference and
        application crash) via a group section that is too
        small.(CVE-2017-13710)
    
      - The elf_read_notesfunction in bfd/elf.c in GNU Binutils
        2.29 allows remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file.(CVE-2017-12799)
    
      - elfcomm.c in readelf in GNU Binutils 2.29 allows remote
        attackers to cause a denial of service (excessive
        memory allocation) or possibly have unspecified other
        impact via a crafted ELF file that triggers a ''buffer
        overflow on fuzzed archive header,'' related to an
        uninitialized variable, an improper conditional jump,
        and the get_archive_member_name,
        process_archive_index_and_symbols, and setup_archive
        functions.(CVE-2017-15996)
    
      - readelf.c in GNU Binutils 2017-04-12 has a ''cannot be
        represented in type long'' issue, which might allow
        remote attackers to cause a denial of service
        (application crash) or possibly have unspecified other
        impact via a crafted ELF file.(CVE-2017-9042)
    
      - The score_opcodes function in opcodes/score7-dis.c in
        GNU Binutils 2.28 allows remote attackers to cause a
        denial of service (buffer overflow and application
        crash) or possibly have unspecified other impact via a
        crafted binary file, as demonstrated by mishandling of
        this file during ''objdump -D''
        execution.(CVE-2017-9742)
    
      - The sh_elf_set_mach_from_flags function in
        bfd/elf32-sh.c in the Binary File Descriptor (BFD)
        library (aka libbfd), as distributed in GNU Binutils
        2.28, allows remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of this
        file during ''objdump -D'' execution.(CVE-2017-9744)
    
      - The disassemble_bytes function in objdump.c in GNU
        Binutils 2.28 allows remote attackers to cause a denial
        of service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of rae
        insns printing for this file during ''objdump -D''
        execution.(CVE-2017-9746)
    
      - The ieee_archive_p function in bfd/ieee.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, might allow remote
        attackers to cause a denial of service (buffer overflow
        and application crash) or possibly have unspecified
        other impact via a crafted binary file, as demonstrated
        by mishandling of this file during ''objdump -D''
        execution. NOTE: this may be related to a compiler
        bug.(CVE-2017-9747)
    
      - The ieee_object_p function in bfd/ieee.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, might allow remote
        attackers to cause a denial of service (buffer overflow
        and application crash) or possibly have unspecified
        other impact via a crafted binary file, as demonstrated
        by mishandling of this file during ''objdump -D''
        execution. NOTE: this may be related to a compiler
        bug.(CVE-2017-9748)
    
      - The *regs* macros in opcodes/bfin-dis.c in GNU Binutils
        2.28 allow remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of this
        file during ''objdump -D'' execution.(CVE-2017-9749)
    
      - opcodes/rx-decode.opc in GNU Binutils 2.28 lacks bounds
        checks for certain scale arrays, which allows remote
        attackers to cause a denial of service (buffer overflow
        and application crash) or possibly have unspecified
        other impact via a crafted binary file, as demonstrated
        by mishandling of this file during ''objdump -D''
        execution.(CVE-2017-9750)
    
      - opcodes/rl78-decode.opc in GNU Binutils 2.28 has an
        unbounded GETBYTE macro, which allows remote attackers
        to cause a denial of service (buffer overflow and
        application crash) or possibly have unspecified other
        impact via a crafted binary file, as demonstrated by
        mishandling of this file during ''objdump -D''
        execution.(CVE-2017-9751)
    
      - bfd/vms-alpha.c in the Binary File Descriptor (BFD)
        library (aka libbfd), as distributed in GNU Binutils
        2.28, allows remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of this
        file in the _bfd_vms_get_value and _bfd_vms_slurp_etir
        functions during ''objdump -D''
        execution.(CVE-2017-9752)
    
      - The versados_mkobject function in bfd/versados.c in the
        Binary File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, does not initialize a
        certain data structure, which allows remote attackers
        to cause a denial of service (buffer overflow and
        application crash) or possibly have unspecified other
        impact via a crafted binary file, as demonstrated by
        mishandling of this file during ''objdump -D''
        execution.(CVE-2017-9753)
    
      - The process_otr function in bfd/versados.c in the
        Binary File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, does not validate a
        certain offset, which allows remote attackers to cause
        a denial of service (buffer overflow and application
        crash) or possibly have unspecified other impact via a
        crafted binary file, as demonstrated by mishandling of
        this file during ''objdump -D''
        execution.(CVE-2017-9754)
    
      - opcodes/i386-dis.c in GNU Binutils 2.28 does not
        consider the number of registers for bnd mode, which
        allows remote attackers to cause a denial of service
        (buffer overflow and application crash) or possibly
        have unspecified other impact via a crafted binary
        file, as demonstrated by mishandling of this file
        during ''objdump -D'' execution.(CVE-2017-9755)
    
      - The aarch64_ext_ldst_reglist function in
        opcodes/aarch64-dis.c in GNU Binutils 2.28 allows
        remote attackers to cause a denial of service (buffer
        overflow and application crash) or possibly have
        unspecified other impact via a crafted binary file, as
        demonstrated by mishandling of this file during
        ''objdump -D'' execution.(CVE-2017-9756)
    
      - The elf_object_p function in elfcode.h in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.29.1, has an unsigned
        integer overflow because bfd_size_type multiplication
        is not used. A crafted ELF file allows remote attackers
        to cause a denial of service (application crash) or
        possibly have unspecified other impact.(CVE-2018-6323)
    
      - elflink.c in the Binary File Descriptor (BFD) library
        (aka libbfd), as distributed in GNU Binutils 2.28, has
        a ''member access within null pointer'' undefined
        behavior issue, which might allow remote attackers to
        cause a denial of service (application crash) or
        possibly have unspecified other impact via an ''int
        main() {return 0}'' program.(CVE-2017-7614)
    
      - An issue was discovered in the Binary File Descriptor
        (BFD) library (aka libbfd), as distributed in GNU
        Binutils 2.32. It is a heap-based buffer overflow in
        _bfd_archive_64_bit_slurp_armap in
        archive64.c.(CVE-2019-9075)
    
      - A NULL pointer dereference (aka SEGV on unknown address
        0x000000000000) was discovered in
        work_stuff_copy_to_from in cplus-dem.c in GNU
        libiberty, as distributed in GNU Binutils 2.30. This
        can occur during execution of objdump.(CVE-2018-12697)
    
      - The bfd_mach_o_i386_canonicalize_one_reloc function in
        bfd/mach-o-i386.c in the Binary File Descriptor (BFD)
        library (aka libbfd), as distributed in GNU Binutils
        2.29 and earlier, allows remote attackers to cause an
        out of bounds heap read via a crafted mach-o
        file.(CVE-2017-12452)
    
      - GNU binutils gold gold v1.11-v1.16 (GNU binutils
        v2.21-v2.31.1) is affected by: Improper Input
        Validation, Signed/Unsigned Comparison, Out-of-bounds
        Read. The impact is: Denial of service. The component
        is: gold/fileread.cc:497, elfcpp/elfcpp_file.h:644. The
        attack vector is: An ELF file with an invalid e_shoff
        header field must be opened.(CVE-2019-1010204)
    
      - The _bfd_xcoff_read_ar_hdr function in
        bfd/coff-rs6000.c and bfd/coff64-rs6000.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.29 and earlier, allows
        remote attackers to cause an out of bounds stack read
        via a crafted COFF image file.(CVE-2017-12451)
    
    Note that Tenable Network Security has extracted the preceding
    description block directly from the EulerOS security advisory. Tenable
    has attempted to automatically clean and format it as much as possible
    without introducing additional issues.");
      # https://developer.huaweicloud.com/ict/en/site-euleros/euleros/security-advisories/EulerOS-SA-2019-1940
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?0da30462");
      script_set_attribute(attribute:"solution", value:
    "Update the affected binutils packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2019/09/16");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/09/17");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:binutils");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:uvp:3.0.2.0");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Huawei Local Security Checks");
    
      script_copyright(english:"This script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "Host/EulerOS/uvp_version");
    
      exit(0);
    }
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    
    release = get_kb_item("Host/EulerOS/release");
    if (isnull(release) || release !~ "^EulerOS") audit(AUDIT_OS_NOT, "EulerOS");
    uvp = get_kb_item("Host/EulerOS/uvp_version");
    if (uvp != "3.0.2.0") audit(AUDIT_OS_NOT, "EulerOS Virtualization 3.0.2.0");
    if (!get_kb_item("Host/EulerOS/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "aarch64" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "EulerOS", cpu);
    if ("aarch64" >!< cpu) audit(AUDIT_ARCH_NOT, "aarch64", cpu);
    
    flag = 0;
    
    pkgs = ["binutils-2.27-28.base.1.h25"];
    
    foreach (pkg in pkgs)
      if (rpm_check(release:"EulerOS-2.0", reference:pkg)) flag++;
    
    if (flag)
    {
      security_report_v4(
        port       : 0,
        severity   : SECURITY_HOLE,
        extra      : rpm_report_get()
      );
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "binutils");
    }
    
  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2018-3207-1.NASL
    descriptionThis update for binutils to 2.31 fixes the following issues : These security issues were fixed : CVE-2017-15996: readelf allowed remote attackers to cause a denial of service (excessive memory allocation) or possibly have unspecified other impact via a crafted ELF file that triggered a buffer overflow on fuzzed archive header (bsc#1065643). CVE-2017-15939: Binary File Descriptor (BFD) library (aka libbfd) mishandled NULL files in a .debug_line file table, which allowed remote attackers to cause a denial of service (NULL pointer dereference and application crash) via a crafted ELF file, related to concat_filename (bsc#1065689). CVE-2017-15938: the Binary File Descriptor (BFD) library (aka libbfd) miscalculated DW_FORM_ref_addr die refs in the case of a relocatable object file, which allowed remote attackers to cause a denial of service (find_abstract_instance_name invalid memory read, segmentation fault, and application crash) (bsc#1065693). CVE-2017-16826: The coff_slurp_line_table function the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (invalid memory access and application crash) or possibly have unspecified other impact via a crafted PE file (bsc#1068640). CVE-2017-16832: The pe_bfd_read_buildid function in the Binary File Descriptor (BFD) library (aka libbfd) did not validate size and offset values in the data dictionary, which allowed remote attackers to cause a denial of service (segmentation violation and application crash) or possibly have unspecified other impact via a crafted PE file (bsc#1068643). CVE-2017-16831: Binary File Descriptor (BFD) library (aka libbfd) did not validate the symbol count, which allowed remote attackers to cause a denial of service (integer overflow and application crash, or excessive memory allocation) or possibly have unspecified other impact via a crafted PE file (bsc#1068887). CVE-2017-16830: The print_gnu_property_note function did not have integer-overflow protection on 32-bit platforms, which allowed remote attackers to cause a denial of service (segmentation violation and application crash) or possibly have unspecified other impact via a crafted ELF file (bsc#1068888). CVE-2017-16829: The _bfd_elf_parse_gnu_properties function in the Binary File Descriptor (BFD) library (aka libbfd) did not prevent negative pointers, which allowed remote attackers to cause a denial of service (out-of-bounds read and application crash) or possibly have unspecified other impact via a crafted ELF file (bsc#1068950). CVE-2017-16828: The display_debug_frames function allowed remote attackers to cause a denial of service (integer overflow and heap-based buffer over-read, and application crash) or possibly have unspecified other impact via a crafted ELF file (bsc#1069176). CVE-2017-16827: The aout_get_external_symbols function in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (slurp_symtab invalid free and application crash) or possibly have unspecified other impact via a crafted ELF file (bsc#1069202). CVE-2018-6323: The elf_object_p function in the Binary File Descriptor (BFD) library (aka libbfd) had an unsigned integer overflow because bfd_size_type multiplication is not used. A crafted ELF file allowed remote attackers to cause a denial of service (application crash) or possibly have unspecified other impact (bsc#1077745). CVE-2018-6543: Prevent integer overflow in the function load_specific_debug_section() which resulted in `malloc()` with 0 size. A crafted ELF file allowed remote attackers to cause a denial of service (application crash) or possibly have unspecified other impact (bsc#1079103). CVE-2018-6759: The bfd_get_debug_link_info_1 function in the Binary File Descriptor (BFD) library (aka libbfd) had an unchecked strnlen operation. Remote attackers could have leveraged this vulnerability to cause a denial of service (segmentation fault) via a crafted ELF file (bsc#1079741). CVE-2018-6872: The elf_parse_notes function in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (out-of-bounds read and segmentation violation) via a note with a large alignment (bsc#1080556). CVE-2018-7208: In the coff_pointerize_aux function in the Binary File Descriptor (BFD) library (aka libbfd) an index was not validated, which allowed remote attackers to cause a denial of service (segmentation fault) or possibly have unspecified other impact via a crafted file, as demonstrated by objcopy of a COFF object (bsc#1081527). CVE-2018-7570: The assign_file_positions_for_non_load_sections function in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (NULL pointer dereference and application crash) via an ELF file with a RELRO segment that lacks a matching LOAD segment, as demonstrated by objcopy (bsc#1083528). CVE-2018-7569: The Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (integer underflow or overflow, and application crash) via an ELF file with a corrupt DWARF FORM block, as demonstrated by nm (bsc#1083532). CVE-2018-8945: The bfd_section_from_shdr function in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (segmentation fault) via a large attribute section (bsc#1086608). CVE-2018-7643: The display_debug_ranges function allowed remote attackers to cause a denial of service (integer overflow and application crash) or possibly have unspecified other impact via a crafted ELF file, as demonstrated by objdump (bsc#1086784). CVE-2018-7642: The swap_std_reloc_in function in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (aout_32_swap_std_reloc_out NULL pointer dereference and application crash) via a crafted ELF file, as demonstrated by objcopy (bsc#1086786). CVE-2018-7568: The parse_die function in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (integer overflow and application crash) via an ELF file with corrupt dwarf1 debug information, as demonstrated by nm (bsc#1086788). CVE-2018-10373: concat_filename in the Binary File Descriptor (BFD) library (aka libbfd) allowed remote attackers to cause a denial of service (NULL pointer dereference and application crash) via a crafted binary file, as demonstrated by nm-new (bsc#1090997). CVE-2018-10372: process_cu_tu_index allowed remote attackers to cause a denial of service (heap-based buffer over-read and application crash) via a crafted binary file, as demonstrated by readelf (bsc#1091015). CVE-2018-10535: The ignore_section_sym function in the Binary File Descriptor (BFD) library (aka libbfd) did not validate the output_section pointer in the case of a symtab entry with a
    last seen2020-06-01
    modified2020-06-02
    plugin id118199
    published2018-10-18
    reporterThis script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/118199
    titleSUSE SLED12 / SLES12 Security Update : binutils (SUSE-SU-2018:3207-1)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from SUSE update advisory SUSE-SU-2018:3207-1.
    # The text itself is copyright (C) SUSE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(118199);
      script_version("1.4");
      script_cvs_date("Date: 2019/09/10 13:51:49");
    
      script_cve_id("CVE-2014-9939", "CVE-2017-15938", "CVE-2017-15939", "CVE-2017-15996", "CVE-2017-16826", "CVE-2017-16827", "CVE-2017-16828", "CVE-2017-16829", "CVE-2017-16830", "CVE-2017-16831", "CVE-2017-16832", "CVE-2017-6965", "CVE-2017-6966", "CVE-2017-6969", "CVE-2017-7209", "CVE-2017-7210", "CVE-2017-7223", "CVE-2017-7224", "CVE-2017-7225", "CVE-2017-7226", "CVE-2017-7299", "CVE-2017-7300", "CVE-2017-7301", "CVE-2017-7302", "CVE-2017-7303", "CVE-2017-7304", "CVE-2017-8392", "CVE-2017-8393", "CVE-2017-8394", "CVE-2017-8396", "CVE-2017-8421", "CVE-2017-9746", "CVE-2017-9747", "CVE-2017-9748", "CVE-2017-9750", "CVE-2017-9755", "CVE-2017-9756", "CVE-2018-10372", "CVE-2018-10373", "CVE-2018-10534", "CVE-2018-10535", "CVE-2018-6323", "CVE-2018-6543", "CVE-2018-6759", "CVE-2018-6872", "CVE-2018-7208", "CVE-2018-7568", "CVE-2018-7569", "CVE-2018-7570", "CVE-2018-7642", "CVE-2018-7643", "CVE-2018-8945");
    
      script_name(english:"SUSE SLED12 / SLES12 Security Update : binutils (SUSE-SU-2018:3207-1)");
      script_summary(english:"Checks rpm output for the updated packages.");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote SUSE host is missing one or more security updates."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "This update for binutils to 2.31 fixes the following issues :
    
    These security issues were fixed :
    
    CVE-2017-15996: readelf allowed remote attackers to cause a denial of
    service (excessive memory allocation) or possibly have unspecified
    other impact via a crafted ELF file that triggered a buffer overflow
    on fuzzed archive header (bsc#1065643).
    
    CVE-2017-15939: Binary File Descriptor (BFD) library (aka libbfd)
    mishandled NULL files in a .debug_line file table, which allowed
    remote attackers to cause a denial of service (NULL pointer
    dereference and application crash) via a crafted ELF file, related to
    concat_filename (bsc#1065689).
    
    CVE-2017-15938: the Binary File Descriptor (BFD) library (aka libbfd)
    miscalculated DW_FORM_ref_addr die refs in the case of a relocatable
    object file, which allowed remote attackers to cause a denial of
    service (find_abstract_instance_name invalid memory read, segmentation
    fault, and application crash) (bsc#1065693).
    
    CVE-2017-16826: The coff_slurp_line_table function the Binary File
    Descriptor (BFD) library (aka libbfd) allowed remote attackers to
    cause a denial of service (invalid memory access and application
    crash) or possibly have unspecified other impact via a crafted PE file
    (bsc#1068640).
    
    CVE-2017-16832: The pe_bfd_read_buildid function in the Binary File
    Descriptor (BFD) library (aka libbfd) did not validate size and offset
    values in the data dictionary, which allowed remote attackers to cause
    a denial of service (segmentation violation and application crash) or
    possibly have unspecified other impact via a crafted PE file
    (bsc#1068643).
    
    CVE-2017-16831: Binary File Descriptor (BFD) library (aka libbfd) did
    not validate the symbol count, which allowed remote attackers to cause
    a denial of service (integer overflow and application crash, or
    excessive memory allocation) or possibly have unspecified other impact
    via a crafted PE file (bsc#1068887).
    
    CVE-2017-16830: The print_gnu_property_note function did not have
    integer-overflow protection on 32-bit platforms, which allowed remote
    attackers to cause a denial of service (segmentation violation and
    application crash) or possibly have unspecified other impact via a
    crafted ELF file (bsc#1068888).
    
    CVE-2017-16829: The _bfd_elf_parse_gnu_properties function in the
    Binary File Descriptor (BFD) library (aka libbfd) did not prevent
    negative pointers, which allowed remote attackers to cause a denial of
    service (out-of-bounds read and application crash) or possibly have
    unspecified other impact via a crafted ELF file (bsc#1068950).
    
    CVE-2017-16828: The display_debug_frames function allowed remote
    attackers to cause a denial of service (integer overflow and
    heap-based buffer over-read, and application crash) or possibly have
    unspecified other impact via a crafted ELF file (bsc#1069176).
    
    CVE-2017-16827: The aout_get_external_symbols function in the Binary
    File Descriptor (BFD) library (aka libbfd) allowed remote attackers to
    cause a denial of service (slurp_symtab invalid free and application
    crash) or possibly have unspecified other impact via a crafted ELF
    file (bsc#1069202).
    
    CVE-2018-6323: The elf_object_p function in the Binary File Descriptor
    (BFD) library (aka libbfd) had an unsigned integer overflow because
    bfd_size_type multiplication is not used. A crafted ELF file allowed
    remote attackers to cause a denial of service (application crash) or
    possibly have unspecified other impact (bsc#1077745).
    
    CVE-2018-6543: Prevent integer overflow in the function
    load_specific_debug_section() which resulted in `malloc()` with 0
    size. A crafted ELF file allowed remote attackers to cause a denial of
    service (application crash) or possibly have unspecified other impact
    (bsc#1079103).
    
    CVE-2018-6759: The bfd_get_debug_link_info_1 function in the Binary
    File Descriptor (BFD) library (aka libbfd) had an unchecked strnlen
    operation. Remote attackers could have leveraged this vulnerability to
    cause a denial of service (segmentation fault) via a crafted ELF file
    (bsc#1079741).
    
    CVE-2018-6872: The elf_parse_notes function in the Binary File
    Descriptor (BFD) library (aka libbfd) allowed remote attackers to
    cause a denial of service (out-of-bounds read and segmentation
    violation) via a note with a large alignment (bsc#1080556).
    
    CVE-2018-7208: In the coff_pointerize_aux function in the Binary File
    Descriptor (BFD) library (aka libbfd) an index was not validated,
    which allowed remote attackers to cause a denial of service
    (segmentation fault) or possibly have unspecified other impact via a
    crafted file, as demonstrated by objcopy of a COFF object
    (bsc#1081527).
    
    CVE-2018-7570: The assign_file_positions_for_non_load_sections
    function in the Binary File Descriptor (BFD) library (aka libbfd)
    allowed remote attackers to cause a denial of service (NULL pointer
    dereference and application crash) via an ELF file with a RELRO
    segment that lacks a matching LOAD segment, as demonstrated by objcopy
    (bsc#1083528).
    
    CVE-2018-7569: The Binary File Descriptor (BFD) library (aka libbfd)
    allowed remote attackers to cause a denial of service (integer
    underflow or overflow, and application crash) via an ELF file with a
    corrupt DWARF FORM block, as demonstrated by nm (bsc#1083532).
    
    CVE-2018-8945: The bfd_section_from_shdr function in the Binary File
    Descriptor (BFD) library (aka libbfd) allowed remote attackers to
    cause a denial of service (segmentation fault) via a large attribute
    section (bsc#1086608).
    
    CVE-2018-7643: The display_debug_ranges function allowed remote
    attackers to cause a denial of service (integer overflow and
    application crash) or possibly have unspecified other impact via a
    crafted ELF file, as demonstrated by objdump (bsc#1086784).
    
    CVE-2018-7642: The swap_std_reloc_in function in the Binary File
    Descriptor (BFD) library (aka libbfd) allowed remote attackers to
    cause a denial of service (aout_32_swap_std_reloc_out NULL pointer
    dereference and application crash) via a crafted ELF file, as
    demonstrated by objcopy (bsc#1086786).
    
    CVE-2018-7568: The parse_die function in the Binary File Descriptor
    (BFD) library (aka libbfd) allowed remote attackers to cause a denial
    of service (integer overflow and application crash) via an ELF file
    with corrupt dwarf1 debug information, as demonstrated by nm
    (bsc#1086788).
    
    CVE-2018-10373: concat_filename in the Binary File Descriptor (BFD)
    library (aka libbfd) allowed remote attackers to cause a denial of
    service (NULL pointer dereference and application crash) via a crafted
    binary file, as demonstrated by nm-new (bsc#1090997).
    
    CVE-2018-10372: process_cu_tu_index allowed remote attackers to cause
    a denial of service (heap-based buffer over-read and application
    crash) via a crafted binary file, as demonstrated by readelf
    (bsc#1091015).
    
    CVE-2018-10535: The ignore_section_sym function in the Binary File
    Descriptor (BFD) library (aka libbfd) did not validate the
    output_section pointer in the case of a symtab entry with a 'SECTION'
    type that has a '0' value, which allowed remote attackers to cause a
    denial of service (NULL pointer dereference and application crash) via
    a crafted file, as demonstrated by objcopy (bsc#1091365).
    
    CVE-2018-10534: The _bfd_XX_bfd_copy_private_bfd_data_common function
    in the Binary File Descriptor (BFD) library (aka libbfd) processesed a
    negative Data Directory size with an unbounded loop that increased the
    value of (external_IMAGE_DEBUG_DIRECTORY) *edd so that the address
    exceeded its own memory region, resulting in an out-of-bounds memory
    write, as demonstrated by objcopy copying private info with
    _bfd_pex64_bfd_copy_private_bfd_data_common in pex64igen.c
    (bsc#1091368).
    
    The update package also includes non-security fixes. See advisory for
    details.
    
    Note that Tenable Network Security has extracted the preceding
    description block directly from the SUSE security advisory. Tenable
    has attempted to automatically clean and format it as much as possible
    without introducing additional issues."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1029907"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1029908"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1029909"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030296"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030297"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030298"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030584"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030585"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030588"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030589"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1031590"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1031593"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1031595"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1031638"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1031644"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1031656"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1037052"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1037057"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1037061"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1037066"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1037273"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044891"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044897"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044901"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044909"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044925"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044927"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1065643"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1065689"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1065693"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1068640"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1068643"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1068887"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1068888"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1068950"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1069176"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1069202"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1074741"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1077745"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1079103"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1079741"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1080556"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1081527"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1083528"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1083532"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1085784"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1086608"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1086784"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1086786"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1086788"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1090997"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1091015"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1091365"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1091368"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2014-9939/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-15938/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-15939/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-15996/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-16826/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-16827/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-16828/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-16829/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-16830/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-16831/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-16832/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-6965/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-6966/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-6969/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7209/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7210/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7223/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7224/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7225/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7226/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7299/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7300/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7301/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7302/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7303/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7304/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8392/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8393/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8394/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8396/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8421/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9746/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9747/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9748/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9750/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9755/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9756/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-10372/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-10373/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-10534/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-10535/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-6323/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-6543/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-6759/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-6872/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-7208/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-7568/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-7569/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-7570/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-7642/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-7643/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-8945/"
      );
      # https://www.suse.com/support/update/announcement/2018/suse-su-20183207-1/
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?61a88c3c"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "To install this SUSE 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 :
    
    SUSE OpenStack Cloud 7:zypper in -t patch
    SUSE-OpenStack-Cloud-7-2018-2297=1
    
    SUSE Linux Enterprise Software Development Kit 12-SP3:zypper in -t
    patch SUSE-SLE-SDK-12-SP3-2018-2297=1
    
    SUSE Linux Enterprise Server for SAP 12-SP2:zypper in -t patch
    SUSE-SLE-SAP-12-SP2-2018-2297=1
    
    SUSE Linux Enterprise Server for SAP 12-SP1:zypper in -t patch
    SUSE-SLE-SAP-12-SP1-2018-2297=1
    
    SUSE Linux Enterprise Server 12-SP3:zypper in -t patch
    SUSE-SLE-SERVER-12-SP3-2018-2297=1
    
    SUSE Linux Enterprise Server 12-SP2-LTSS:zypper in -t patch
    SUSE-SLE-SERVER-12-SP2-2018-2297=1
    
    SUSE Linux Enterprise Server 12-SP1-LTSS:zypper in -t patch
    SUSE-SLE-SERVER-12-SP1-2018-2297=1
    
    SUSE Linux Enterprise Server 12-LTSS:zypper in -t patch
    SUSE-SLE-SERVER-12-2018-2297=1
    
    SUSE Linux Enterprise Desktop 12-SP3:zypper in -t patch
    SUSE-SLE-DESKTOP-12-SP3-2018-2297=1
    
    SUSE Enterprise Storage 4:zypper in -t patch
    SUSE-Storage-4-2018-2297=1
    
    OpenStack Cloud Magnum Orchestration 7:zypper in -t patch
    SUSE-OpenStack-Cloud-Magnum-Orchestration-7-2018-2297=1"
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:12");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2017/03/17");
      script_set_attribute(attribute:"patch_publication_date", value:"2018/10/17");
      script_set_attribute(attribute:"plugin_publication_date", value:"2018/10/18");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"SuSE Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/SuSE/release", "Host/SuSE/rpm-list");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/SuSE/release");
    if (isnull(release) || release !~ "^(SLED|SLES)") audit(AUDIT_OS_NOT, "SUSE");
    os_ver = pregmatch(pattern: "^(SLE(S|D)\d+)", string:release);
    if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "SUSE");
    os_ver = os_ver[1];
    if (! preg(pattern:"^(SLED12|SLES12)$", string:os_ver)) audit(AUDIT_OS_NOT, "SUSE SLED12 / SLES12", "SUSE " + os_ver);
    
    if (!get_kb_item("Host/SuSE/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if (cpu !~ "^i[3-6]86$" && "x86_64" >!< cpu && "s390x" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "SUSE " + os_ver, cpu);
    
    sp = get_kb_item("Host/SuSE/patchlevel");
    if (isnull(sp)) sp = "0";
    if (os_ver == "SLES12" && (! preg(pattern:"^(0|1|2|3)$", string:sp))) audit(AUDIT_OS_NOT, "SLES12 SP0/1/2/3", os_ver + " SP" + sp);
    if (os_ver == "SLED12" && (! preg(pattern:"^(3)$", string:sp))) audit(AUDIT_OS_NOT, "SLED12 SP3", os_ver + " SP" + sp);
    
    
    flag = 0;
    if (rpm_check(release:"SLES12", sp:"1", reference:"binutils-2.31-9.26.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"1", reference:"binutils-debuginfo-2.31-9.26.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"1", reference:"binutils-debugsource-2.31-9.26.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"binutils-2.31-9.26.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"binutils-debuginfo-2.31-9.26.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"binutils-debugsource-2.31-9.26.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"3", reference:"binutils-2.31-9.26.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"3", reference:"binutils-debuginfo-2.31-9.26.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"3", reference:"binutils-debugsource-2.31-9.26.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"2", reference:"binutils-2.31-9.26.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"2", reference:"binutils-debuginfo-2.31-9.26.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"2", reference:"binutils-debugsource-2.31-9.26.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"binutils-2.31-9.26.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"binutils-debuginfo-2.31-9.26.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"binutils-debugsource-2.31-9.26.1")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
      else security_hole(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "binutils");
    }
    
  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2017-1330.NASL
    descriptionGNU binutil was updated to the 2.29.1 release, bringing various new features, fixing a lot of bugs and security issues. Following security issues are being addressed by this release : - 18750 bsc#1030296 CVE-2014-9939 - 20891 bsc#1030585 CVE-2017-7225 - 20892 bsc#1030588 CVE-2017-7224 - 20898 bsc#1030589 CVE-2017-7223 - 20905 bsc#1030584 CVE-2017-7226 - 20908 bsc#1031644 CVE-2017-7299 - 20909 bsc#1031656 CVE-2017-7300 - 20921 bsc#1031595 CVE-2017-7302 - 20922 bsc#1031593 CVE-2017-7303 - 20924 bsc#1031638 CVE-2017-7301 - 20931 bsc#1031590 CVE-2017-7304 - 21135 bsc#1030298 CVE-2017-7209 - 21137 bsc#1029909 CVE-2017-6965 - 21139 bsc#1029908 CVE-2017-6966 - 21156 bsc#1029907 CVE-2017-6969 - 21157 bsc#1030297 CVE-2017-7210 - 21409 bsc#1037052 CVE-2017-8392 - 21412 bsc#1037057 CVE-2017-8393 - 21414 bsc#1037061 CVE-2017-8394 - 21432 bsc#1037066 CVE-2017-8396 - 21440 bsc#1037273 CVE-2017-8421 - 21580 bsc#1044891 CVE-2017-9746 - 21581 bsc#1044897 CVE-2017-9747 - 21582 bsc#1044901 CVE-2017-9748 - 21587 bsc#1044909 CVE-2017-9750 - 21594 bsc#1044925 CVE-2017-9755 - 21595 bsc#1044927 CVE-2017-9756 - 21787 bsc#1052518 CVE-2017-12448 - 21813 bsc#1052503, CVE-2017-12456, bsc#1052507, CVE-2017-12454, bsc#1052509, CVE-2017-12453, bsc#1052511, CVE-2017-12452, bsc#1052514, CVE-2017-12450, bsc#1052503, CVE-2017-12456, bsc#1052507, CVE-2017-12454, bsc#1052509, CVE-2017-12453, bsc#1052511, CVE-2017-12452, bsc#1052514, CVE-2017-12450 - 21933 bsc#1053347 CVE-2017-12799 - 21990 bsc#1058480 CVE-2017-14333 - 22018 bsc#1056312 CVE-2017-13757 - 22047 bsc#1057144 CVE-2017-14129 - 22058 bsc#1057149 CVE-2017-14130 - 22059 bsc#1057139 CVE-2017-14128 - 22113 bsc#1059050 CVE-2017-14529 - 22148 bsc#1060599 CVE-2017-14745 - 22163 bsc#1061241 CVE-2017-14974 - 22170 bsc#1060621 CVE-2017-14729 Update to binutils 2.29. [fate#321454, fate#321494, fate#323293] : - The MIPS port now supports microMIPS eXtended Physical Addressing (XPA) instructions for assembly and disassembly. - The MIPS port now supports the microMIPS Release 5 ISA for assembly and disassembly. - The MIPS port now supports the Imagination interAptiv MR2 processor, which implements the MIPS32r3 ISA, the MIPS16e2 ASE as well as a couple of implementation-specific regular MIPS and MIPS16e2 ASE instructions. - The SPARC port now supports the SPARC M8 processor, which implements the Oracle SPARC Architecture 2017. - The MIPS port now supports the MIPS16e2 ASE for assembly and disassembly. - Add support for ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX. - Add support for the wasm32 ELF conversion of the WebAssembly file format. - Add --inlines option to objdump, which extends the --line-numbers option so that inlined functions will display their nesting information. - Add --merge-notes options to objcopy to reduce the size of notes in a binary file by merging and deleting redundant notes. - Add support for locating separate debug info files using the build-id method, where the separate file has a name based upon the build-id of the original file. - GAS specific : - Add support for ELF SHF_GNU_MBIND. - Add support for the WebAssembly file format and wasm32 ELF conversion. - PowerPC gas now checks that the correct register class is used in instructions. For instance,
    last seen2020-06-05
    modified2017-12-14
    plugin id105225
    published2017-12-14
    reporterThis script is Copyright (C) 2017-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/105225
    titleopenSUSE Security Update : binutils (openSUSE-2017-1330)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from openSUSE Security Update openSUSE-2017-1330.
    #
    # The text description of this plugin is (C) SUSE LLC.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(105225);
      script_version("3.5");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/06/04");
    
      script_cve_id("CVE-2014-9939", "CVE-2017-12448", "CVE-2017-12450", "CVE-2017-12452", "CVE-2017-12453", "CVE-2017-12454", "CVE-2017-12456", "CVE-2017-12799", "CVE-2017-13757", "CVE-2017-14128", "CVE-2017-14129", "CVE-2017-14130", "CVE-2017-14333", "CVE-2017-14529", "CVE-2017-14729", "CVE-2017-14745", "CVE-2017-14974", "CVE-2017-6965", "CVE-2017-6966", "CVE-2017-6969", "CVE-2017-7209", "CVE-2017-7210", "CVE-2017-7223", "CVE-2017-7224", "CVE-2017-7225", "CVE-2017-7226", "CVE-2017-7227", "CVE-2017-7299", "CVE-2017-7300", "CVE-2017-7301", "CVE-2017-7302", "CVE-2017-7303", "CVE-2017-7304", "CVE-2017-7614", "CVE-2017-8392", "CVE-2017-8393", "CVE-2017-8394", "CVE-2017-8395", "CVE-2017-8396", "CVE-2017-8397", "CVE-2017-8398", "CVE-2017-8421", "CVE-2017-9038", "CVE-2017-9039", "CVE-2017-9040", "CVE-2017-9041", "CVE-2017-9042", "CVE-2017-9043", "CVE-2017-9044", "CVE-2017-9746", "CVE-2017-9747", "CVE-2017-9748", "CVE-2017-9750", "CVE-2017-9755", "CVE-2017-9756", "CVE-2017-9954", "CVE-2017-9955");
    
      script_name(english:"openSUSE Security Update : binutils (openSUSE-2017-1330)");
      script_summary(english:"Check for the openSUSE-2017-1330 patch");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote openSUSE host is missing a security update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "GNU binutil was updated to the 2.29.1 release, bringing various new
    features, fixing a lot of bugs and security issues.
    
    Following security issues are being addressed by this release :
    
      - 18750 bsc#1030296 CVE-2014-9939
    
      - 20891 bsc#1030585 CVE-2017-7225
    
      - 20892 bsc#1030588 CVE-2017-7224
    
      - 20898 bsc#1030589 CVE-2017-7223
    
      - 20905 bsc#1030584 CVE-2017-7226
    
      - 20908 bsc#1031644 CVE-2017-7299
    
      - 20909 bsc#1031656 CVE-2017-7300
    
      - 20921 bsc#1031595 CVE-2017-7302
    
      - 20922 bsc#1031593 CVE-2017-7303
    
      - 20924 bsc#1031638 CVE-2017-7301
    
      - 20931 bsc#1031590 CVE-2017-7304
    
      - 21135 bsc#1030298 CVE-2017-7209 
    
      - 21137 bsc#1029909 CVE-2017-6965
    
      - 21139 bsc#1029908 CVE-2017-6966
    
      - 21156 bsc#1029907 CVE-2017-6969
    
      - 21157 bsc#1030297 CVE-2017-7210
    
      - 21409 bsc#1037052 CVE-2017-8392
    
      - 21412 bsc#1037057 CVE-2017-8393
    
      - 21414 bsc#1037061 CVE-2017-8394
    
      - 21432 bsc#1037066 CVE-2017-8396
    
      - 21440 bsc#1037273 CVE-2017-8421
    
      - 21580 bsc#1044891 CVE-2017-9746
    
      - 21581 bsc#1044897 CVE-2017-9747
    
      - 21582 bsc#1044901 CVE-2017-9748
    
      - 21587 bsc#1044909 CVE-2017-9750
    
      - 21594 bsc#1044925 CVE-2017-9755
    
      - 21595 bsc#1044927 CVE-2017-9756
    
      - 21787 bsc#1052518 CVE-2017-12448
    
      - 21813 bsc#1052503, CVE-2017-12456, bsc#1052507,
        CVE-2017-12454, bsc#1052509, CVE-2017-12453,
        bsc#1052511, CVE-2017-12452, bsc#1052514,
        CVE-2017-12450, bsc#1052503, CVE-2017-12456,
        bsc#1052507, CVE-2017-12454, bsc#1052509,
        CVE-2017-12453, bsc#1052511, CVE-2017-12452,
        bsc#1052514, CVE-2017-12450
    
      - 21933 bsc#1053347 CVE-2017-12799
    
      - 21990 bsc#1058480 CVE-2017-14333
    
      - 22018 bsc#1056312 CVE-2017-13757
    
      - 22047 bsc#1057144 CVE-2017-14129
    
      - 22058 bsc#1057149 CVE-2017-14130
    
      - 22059 bsc#1057139 CVE-2017-14128
    
      - 22113 bsc#1059050 CVE-2017-14529
    
      - 22148 bsc#1060599 CVE-2017-14745
    
      - 22163 bsc#1061241 CVE-2017-14974
    
      - 22170 bsc#1060621 CVE-2017-14729
    
    Update to binutils 2.29. [fate#321454, fate#321494, fate#323293] :
    
      - The MIPS port now supports microMIPS eXtended Physical
        Addressing (XPA) instructions for assembly and
        disassembly.
    
      - The MIPS port now supports the microMIPS Release 5 ISA
        for assembly and disassembly.
    
      - The MIPS port now supports the Imagination interAptiv
        MR2 processor, which implements the MIPS32r3 ISA, the
        MIPS16e2 ASE as well as a couple of
        implementation-specific regular MIPS and MIPS16e2 ASE
        instructions.
    
      - The SPARC port now supports the SPARC M8 processor,
        which implements the Oracle SPARC Architecture 2017.
    
      - The MIPS port now supports the MIPS16e2 ASE for assembly
        and disassembly.
    
      - Add support for ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX.
    
      - Add support for the wasm32 ELF conversion of the
        WebAssembly file format.
    
      - Add --inlines option to objdump, which extends the
        --line-numbers option so that inlined functions will
        display their nesting information.
    
      - Add --merge-notes options to objcopy to reduce the size
        of notes in a binary file by merging and deleting
        redundant notes.
    
      - Add support for locating separate debug info files using
        the build-id method, where the separate file has a name
        based upon the build-id of the original file.
    
      - GAS specific :
    
      - Add support for ELF SHF_GNU_MBIND.
    
      - Add support for the WebAssembly file format and wasm32
        ELF conversion.
    
      - PowerPC gas now checks that the correct register class
        is used in instructions. For instance, 'addi
        %f4,%cr3,%r31' warns three times that the registers are
        invalid.
    
      - Add support for the Texas Instruments PRU processor.
    
      - Support for the ARMv8-R architecture and Cortex-R52
        processor has been added to the ARM port.
    
      - GNU ld specific :
    
      - Support for -z shstk in the x86 ELF linker to generate
        GNU_PROPERTY_X86_FEATURE_1_SHSTK in ELF GNU program
        properties.
    
      - Add support for GNU_PROPERTY_X86_FEATURE_1_SHSTK in ELF
        GNU program properties in the x86 ELF linker.
    
      - Add support for GNU_PROPERTY_X86_FEATURE_1_IBT in ELF
        GNU program properties in the x86 ELF linker.
    
      - Support for -z ibtplt in the x86 ELF linker to generate
        IBT-enabled PLT.
    
      - Support for -z ibt in the x86 ELF linker to generate
        IBT-enabled PLT as well as
        GNU_PROPERTY_X86_FEATURE_1_IBT in ELF GNU program
        properties.
    
      - Add support for ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX.
    
      - Add support for ELF GNU program properties.
    
      - Add support for the Texas Instruments PRU processor.
    
      - When configuring for arc*-*-linux* targets the default
        linker emulation will change if --with-cpu=nps400 is
        used at configure time.
    
      - Improve assignment of LMAs to orphan sections in some
        edge cases where a mixture of both AT>LMA_REGION and
        AT(LMA) are used.
    
      - Orphan sections placed after an empty section that has
        an AT(LMA) will now take an load memory address starting
        from LMA.
    
      - Section groups can now be resolved (the group deleted
        and the group members placed like normal sections) at
        partial link time either using the new linker option
        --force-group-allocation or by placing
        FORCE_GROUP_ALLOCATION into the linker script.
    
      - Add riscv64 target, tested with gcc7 and downstream
        newlib 2.4.0
    
      - Prepare riscv32 target (gh#riscv/riscv-newlib#8)
    
      - Make compressed debug section handling explicit, disable
        for old products and enable for gas on all architectures
        otherwise. [bsc#1029995]
    
      - Remove empty rpath component removal optimization from
        to workaround CMake rpath handling. [bsc#1025282]
    
        Minor security bugs fixed: PR 21147, PR 21148, PR 21149,
        PR 21150, PR 21151, PR 21155, PR 21158, PR 21159
    
      - Update to binutils 2.28.
    
      - Add support for locating separate debug info files using
        the build-id method, where the separate file has a name
        based upon the build-id of the original file.
    
      - This version of binutils fixes a problem with PowerPC
        VLE 16A and 16D relocations which were functionally
        swapped, for example, R_PPC_VLE_HA16A performed like
        R_PPC_VLE_HA16D while R_PPC_VLE_HA16D performed like
        R_PPC_VLE_HA16A. This could have been fixed by
        renumbering relocations, which would keep object files
        created by an older version of gas compatible with a
        newer ld. However, that would require an ABI update,
        affecting other assemblers and linkers that create and
        process the relocations correctly. It is recommended
        that all VLE object files be recompiled, but ld can
        modify the relocations if --vle-reloc-fixup is passed to
        ld. If the new ld command line option is not used, ld
        will ld warn on finding relocations inconsistent with
        the instructions being relocated.
    
      - The nm program has a new command line option
        (--with-version-strings) which will display a symbol's
        version information, if any, after the symbol's name.
    
      - The ARC port of objdump now accepts a -M option to
        specify the extra instruction class(es) that should be
        disassembled.
    
      - The --remove-section option for objcopy and strip now
        accepts section patterns starting with an exclamation
        point to indicate a non-matching section. A non-matching
        section is removed from the set of sections matched by
        an earlier --remove-section pattern.
    
      - The --only-section option for objcopy now accepts
        section patterns starting with an exclamation point to
        indicate a non-matching section. A non-matching section
        is removed from the set of sections matched by an
        earlier --only-section pattern.
    
      - New --remove-relocations=SECTIONPATTERN option for
        objcopy and strip. This option can be used to remove
        sections containing relocations. The SECTIONPATTERN is
        the section to which the relocations apply, not the
        relocation section itself.
    
      - GAS specific :
    
      - Add support for the RISC-V architecture.
    
      - Add support for the ARM Cortex-M23 and Cortex-M33
        processors.
    
      - GNU ld specific :
    
      - The EXCLUDE_FILE linker script construct can now be
        applied outside of the section list in order for the
        exclusions to apply over all input sections in the list.
    
      - Add support for the RISC-V architecture.
    
      - The command line option --no-eh-frame-hdr can now be
        used in ELF based linkers to disable the automatic
        generation of .eh_frame_hdr sections.
    
      - Add --in-implib=<infile> to the ARM linker to enable
        specifying a set of Secure Gateway veneers that must
        exist in the output import library specified by
        --out-implib=<outfile> and the address they must have.
        As such, --in-implib is only supported in combination
        with --cmse-implib.
    
      - Extended the --out-implib=<file> option, previously
        restricted to x86 PE targets, to any ELF based target.
        This allows the generation of an import library for an
        ELF executable, which can then be used by another
        application to link against the executable.
    
      - GOLD specific :
    
      - Add -z bndplt option (x86-64 only) to support Intel MPX.
    
      - Add --orphan-handling option.
    
      - Add --stub-group-multi option (PowerPC only).
    
      - Add --target1-rel, --target1-abs, --target2 options (Arm
        only).
    
      - Add -z stack-size option.
    
      - Add --be8 option (Arm only).
    
      - Add HIDDEN support in linker scripts.
    
      - Add SORT_BY_INIT_PRIORITY support in linker scripts.
    
      - Other fixes :
    
      - Fix section alignment on .gnu_debuglink. [bso#21193]
    
      - Add s390x to gold_archs.
    
      - Fix alignment frags for aarch64 (bsc#1003846)
    
      - Call ldconfig for libbfd
    
      - Fix an assembler problem with clang on ARM.
    
      - Restore monotonically increasing section offsets.
    
      - Update to binutils 2.27.
    
      - Add a configure option, --enable-64-bit-archive, to
        force use of a 64-bit format when creating an archive
        symbol index.
    
      - Add --elf-stt-common= option to objcopy for ELF targets
        to control whether to convert common symbols to the
        STT_COMMON type.
    
      - GAS specific :
    
      - Default to --enable-compressed-debug-sections=gas for
        Linux/x86 targets.
    
      - Add --no-pad-sections to stop the assembler from padding
        the end of output sections up to their alignment
        boundary.
    
      - Support for the ARMv8-M architecture has been added to
        the ARM port. Support for the ARMv8-M Security and DSP
        Extensions has also been added to the ARM port.
    
      - ARC backend accepts .extInstruction, .extCondCode,
        .extAuxRegister, and .extCoreRegister pseudo-ops that
        allow an user to define custom instructions, conditional
        codes, auxiliary and core registers.
    
      - Add a configure option --enable-elf-stt-common to decide
        whether ELF assembler should generate common symbols
        with the STT_COMMON type by default. Default to no.
    
      - New command line option --elf-stt-common= for ELF
        targets to control whether to generate common symbols
        with the STT_COMMON type.
    
      - Add ability to set section flags and types via numeric
        values for ELF based targets.
    
      - Add a configure option --enable-x86-relax-relocations to
        decide whether x86 assembler should generate relax
        relocations by default. Default to yes, except for x86
        Solaris targets older than Solaris 12.
    
      - New command line option -mrelax-relocations= for x86
        target to control whether to generate relax relocations.
    
      - New command line option -mfence-as-lock-add=yes for x86
        target to encode lfence, mfence and sfence as 'lock addl
        $0x0, (%[re]sp)'.
    
      - Add assembly-time relaxation option for ARC cpus.
    
      - Add --with-cpu=TYPE configure option for ARC gas. This
        allows the default cpu type to be adjusted at configure
        time.
    
      - GOLD specific :
    
      - Add a configure option --enable-relro to decide whether
        -z relro should be enabled by default. Default to yes.
    
      - Add support for s390, MIPS, AArch64, and TILE-Gx
        architectures.
    
      - Add support for STT_GNU_IFUNC symbols.
    
      - Add support for incremental linking (--incremental).
    
      - GNU ld specific :
    
      - Add a configure option --enable-relro to decide whether
        -z relro should be enabled in ELF linker by default.
        Default to yes for all Linux targets except FRV, HPPA,
        IA64 and MIPS.
    
      - Support for -z noreloc-overflow in the x86-64 ELF linker
        to disable relocation overflow check.
    
      - Add -z common/-z nocommon options for ELF targets to
        control whether to convert common symbols to the
        STT_COMMON type during a relocatable link.
    
      - Support for -z nodynamic-undefined-weak in the x86 ELF
        linker, which avoids dynamic relocations against
        undefined weak symbols in executable.
    
      - The NOCROSSREFSTO command was added to the linker script
        language.
    
      - Add --no-apply-dynamic-relocs to the AArch64 linker to
        do not apply link-time values for dynamic relocations.
    
    This update was imported from the SUSE:SLE-12:Update update project."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1003846"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1025282"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1029907"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1029908"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1029909"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1029995"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1030296"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1030297"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1030298"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1030583"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1030584"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1030585"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1030588"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1030589"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1031590"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1031593"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1031595"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1031638"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1031644"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1031656"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1033122"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1037052"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1037057"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1037061"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1037062"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1037066"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1037070"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1037072"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1037273"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1038874"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1038875"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1038876"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1038877"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1038878"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1038880"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1038881"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1044891"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1044897"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1044901"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1044909"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1044925"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1044927"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1046094"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1052061"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1052496"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1052503"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1052507"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1052509"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1052511"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1052514"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1052518"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1053347"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1056312"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1056437"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1057139"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1057144"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1057149"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1058480"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1059050"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1060599"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1060621"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1061241"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=437293"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=445037"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=546106"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=561142"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=578249"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=590820"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=691290"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=698346"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=713504"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=776968"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=863764"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=938658"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=970239"
      );
      # https://features.opensuse.org/306880
      script_set_attribute(
        attribute:"see_also",
        value:"https://features.opensuse.org/"
      );
      # https://features.opensuse.org/311376
      script_set_attribute(
        attribute:"see_also",
        value:"https://features.opensuse.org/"
      );
      # https://features.opensuse.org/311554
      script_set_attribute(
        attribute:"see_also",
        value:"https://features.opensuse.org/"
      );
      # https://features.opensuse.org/311972
      script_set_attribute(
        attribute:"see_also",
        value:"https://features.opensuse.org/"
      );
      # https://features.opensuse.org/312149
      script_set_attribute(
        attribute:"see_also",
        value:"https://features.opensuse.org/"
      );
      # https://features.opensuse.org/321454
      script_set_attribute(
        attribute:"see_also",
        value:"https://features.opensuse.org/"
      );
      # https://features.opensuse.org/321494
      script_set_attribute(
        attribute:"see_also",
        value:"https://features.opensuse.org/"
      );
      # https://features.opensuse.org/323293
      script_set_attribute(
        attribute:"see_also",
        value:"https://features.opensuse.org/"
      );
      # https://features.opensuse.org/323972
      script_set_attribute(
        attribute:"see_also",
        value:"https://features.opensuse.org/"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected binutils packages."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:binutils-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:binutils-devel-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:binutils-gold");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:binutils-gold-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-aarch64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-aarch64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-aarch64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-arm-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-arm-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-arm-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-avr-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-avr-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-avr-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-hppa-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-hppa-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-hppa-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-hppa64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-hppa64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-hppa64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-i386-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-i386-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-i386-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ia64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ia64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ia64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-m68k-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-m68k-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-m68k-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-mips-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-mips-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-mips-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ppc-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ppc-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ppc-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ppc64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ppc64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ppc64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ppc64le-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ppc64le-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-ppc64le-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-s390-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-s390-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-s390-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-s390x-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-s390x-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-s390x-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-sparc-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-sparc-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-sparc-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-sparc64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-sparc64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-sparc64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-spu-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-spu-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-spu-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-x86_64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-x86_64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-x86_64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:42.2");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:42.3");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2017/12/02");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/12/14");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2017-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"SuSE Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/SuSE/release", "Host/SuSE/rpm-list", "Host/cpu");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/SuSE/release");
    if (isnull(release) || release =~ "^(SLED|SLES)") audit(AUDIT_OS_NOT, "openSUSE");
    if (release !~ "^(SUSE42\.2|SUSE42\.3)$") audit(AUDIT_OS_RELEASE_NOT, "openSUSE", "42.2 / 42.3", release);
    if (!get_kb_item("Host/SuSE/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    ourarch = get_kb_item("Host/cpu");
    if (!ourarch) audit(AUDIT_UNKNOWN_ARCH);
    if (ourarch !~ "^(i586|i686|x86_64)$") audit(AUDIT_ARCH_NOT, "i586 / i686 / x86_64", ourarch);
    
    flag = 0;
    
    if ( rpm_check(release:"SUSE42.2", reference:"binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"binutils-devel-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"binutils-gold-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"binutils-gold-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-aarch64-binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-aarch64-binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-aarch64-binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-arm-binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-arm-binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-arm-binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-avr-binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-avr-binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-avr-binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-hppa-binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-hppa-binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-hppa-binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-hppa64-binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-hppa64-binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-hppa64-binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-ia64-binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-ia64-binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-ia64-binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-m68k-binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-m68k-binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-m68k-binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-mips-binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-mips-binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-mips-binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-ppc-binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-ppc-binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-ppc-binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-ppc64-binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-ppc64-binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-ppc64-binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-ppc64le-binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-ppc64le-binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-ppc64le-binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-s390-binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-s390-binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-s390-binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-s390x-binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-s390x-binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-s390x-binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-sparc-binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-sparc-binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-sparc-binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-sparc64-binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-sparc64-binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-sparc64-binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-spu-binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-spu-binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-spu-binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-x86_64-binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-x86_64-binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"cross-x86_64-binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", cpu:"x86_64", reference:"binutils-devel-32bit-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", cpu:"x86_64", reference:"cross-i386-binutils-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", cpu:"x86_64", reference:"cross-i386-binutils-debuginfo-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", cpu:"x86_64", reference:"cross-i386-binutils-debugsource-2.29.1-9.6.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"binutils-debugsource-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"binutils-devel-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"binutils-gold-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"binutils-gold-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-aarch64-binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-aarch64-binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-aarch64-binutils-debugsource-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-arm-binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-arm-binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-arm-binutils-debugsource-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-avr-binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-avr-binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-avr-binutils-debugsource-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-hppa-binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-hppa-binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-hppa-binutils-debugsource-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-hppa64-binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-hppa64-binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-hppa64-binutils-debugsource-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ia64-binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ia64-binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ia64-binutils-debugsource-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-m68k-binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-m68k-binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-m68k-binutils-debugsource-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-mips-binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-mips-binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-mips-binutils-debugsource-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ppc-binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ppc-binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ppc-binutils-debugsource-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ppc64-binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ppc64-binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ppc64-binutils-debugsource-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ppc64le-binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ppc64le-binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-ppc64le-binutils-debugsource-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-s390-binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-s390-binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-s390-binutils-debugsource-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-s390x-binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-s390x-binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-s390x-binutils-debugsource-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-sparc-binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-sparc-binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-sparc-binutils-debugsource-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-sparc64-binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-sparc64-binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-sparc64-binutils-debugsource-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-spu-binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-spu-binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-spu-binutils-debugsource-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-x86_64-binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-x86_64-binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"cross-x86_64-binutils-debugsource-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"binutils-devel-32bit-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"cross-i386-binutils-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"cross-i386-binutils-debuginfo-2.29.1-13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", cpu:"x86_64", reference:"cross-i386-binutils-debugsource-2.29.1-13.1") ) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
      else security_hole(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "binutils / binutils-debuginfo / binutils-debugsource / etc");
    }
    
  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2017-3170-1.NASL
    descriptionGNU binutil was updated to the 2.29.1 release, bringing various new features, fixing a lot of bugs and security issues. Following security issues are being addressed by this release : - 18750 bsc#1030296 CVE-2014-9939 - 20891 bsc#1030585 CVE-2017-7225 - 20892 bsc#1030588 CVE-2017-7224 - 20898 bsc#1030589 CVE-2017-7223 - 20905 bsc#1030584 CVE-2017-7226 - 20908 bsc#1031644 CVE-2017-7299 - 20909 bsc#1031656 CVE-2017-7300 - 20921 bsc#1031595 CVE-2017-7302 - 20922 bsc#1031593 CVE-2017-7303 - 20924 bsc#1031638 CVE-2017-7301 - 20931 bsc#1031590 CVE-2017-7304 - 21135 bsc#1030298 CVE-2017-7209 - 21137 bsc#1029909 CVE-2017-6965 - 21139 bsc#1029908 CVE-2017-6966 - 21156 bsc#1029907 CVE-2017-6969 - 21157 bsc#1030297 CVE-2017-7210 - 21409 bsc#1037052 CVE-2017-8392 - 21412 bsc#1037057 CVE-2017-8393 - 21414 bsc#1037061 CVE-2017-8394 - 21432 bsc#1037066 CVE-2017-8396 - 21440 bsc#1037273 CVE-2017-8421 - 21580 bsc#1044891 CVE-2017-9746 - 21581 bsc#1044897 CVE-2017-9747 - 21582 bsc#1044901 CVE-2017-9748 - 21587 bsc#1044909 CVE-2017-9750 - 21594 bsc#1044925 CVE-2017-9755 - 21595 bsc#1044927 CVE-2017-9756 - 21787 bsc#1052518 CVE-2017-12448 - 21813 bsc#1052503, CVE-2017-12456, bsc#1052507, CVE-2017-12454, bsc#1052509, CVE-2017-12453, bsc#1052511, CVE-2017-12452, bsc#1052514, CVE-2017-12450, bsc#1052503, CVE-2017-12456, bsc#1052507, CVE-2017-12454, bsc#1052509, CVE-2017-12453, bsc#1052511, CVE-2017-12452, bsc#1052514, CVE-2017-12450 - 21933 bsc#1053347 CVE-2017-12799 - 21990 bsc#1058480 CVE-2017-14333 - 22018 bsc#1056312 CVE-2017-13757 - 22047 bsc#1057144 CVE-2017-14129 - 22058 bsc#1057149 CVE-2017-14130 - 22059 bsc#1057139 CVE-2017-14128 - 22113 bsc#1059050 CVE-2017-14529 - 22148 bsc#1060599 CVE-2017-14745 - 22163 bsc#1061241 CVE-2017-14974 - 22170 bsc#1060621 CVE-2017-14729 Update to binutils 2.29. [fate#321454, fate#321494, fate#323293] : - The MIPS port now supports microMIPS eXtended Physical Addressing (XPA) instructions for assembly and disassembly. - The MIPS port now supports the microMIPS Release 5 ISA for assembly and disassembly. - The MIPS port now supports the Imagination interAptiv MR2 processor, which implements the MIPS32r3 ISA, the MIPS16e2 ASE as well as a couple of implementation-specific regular MIPS and MIPS16e2 ASE instructions. - The SPARC port now supports the SPARC M8 processor, which implements the Oracle SPARC Architecture 2017. - The MIPS port now supports the MIPS16e2 ASE for assembly and disassembly. - Add support for ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX. - Add support for the wasm32 ELF conversion of the WebAssembly file format. - Add --inlines option to objdump, which extends the --line-numbers option so that inlined functions will display their nesting information. - Add --merge-notes options to objcopy to reduce the size of notes in a binary file by merging and deleting redundant notes. - Add support for locating separate debug info files using the build-id method, where the separate file has a name based upon the build-id of the original file. - GAS specific : - Add support for ELF SHF_GNU_MBIND. - Add support for the WebAssembly file format and wasm32 ELF conversion. - PowerPC gas now checks that the correct register class is used in instructions. For instance,
    last seen2020-06-01
    modified2020-06-02
    plugin id104968
    published2017-12-01
    reporterThis script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/104968
    titleSUSE SLED12 / SLES12 Security Update : binutils (SUSE-SU-2017:3170-1)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from SUSE update advisory SUSE-SU-2017:3170-1.
    # The text itself is copyright (C) SUSE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(104968);
      script_version("3.6");
      script_cvs_date("Date: 2019/09/11 11:22:16");
    
      script_cve_id("CVE-2014-9939", "CVE-2017-12448", "CVE-2017-12450", "CVE-2017-12452", "CVE-2017-12453", "CVE-2017-12454", "CVE-2017-12456", "CVE-2017-12799", "CVE-2017-13757", "CVE-2017-14128", "CVE-2017-14129", "CVE-2017-14130", "CVE-2017-14333", "CVE-2017-14529", "CVE-2017-14729", "CVE-2017-14745", "CVE-2017-14974", "CVE-2017-6965", "CVE-2017-6966", "CVE-2017-6969", "CVE-2017-7209", "CVE-2017-7210", "CVE-2017-7223", "CVE-2017-7224", "CVE-2017-7225", "CVE-2017-7226", "CVE-2017-7227", "CVE-2017-7299", "CVE-2017-7300", "CVE-2017-7301", "CVE-2017-7302", "CVE-2017-7303", "CVE-2017-7304", "CVE-2017-7614", "CVE-2017-8392", "CVE-2017-8393", "CVE-2017-8394", "CVE-2017-8395", "CVE-2017-8396", "CVE-2017-8397", "CVE-2017-8398", "CVE-2017-8421", "CVE-2017-9038", "CVE-2017-9039", "CVE-2017-9040", "CVE-2017-9041", "CVE-2017-9042", "CVE-2017-9043", "CVE-2017-9044", "CVE-2017-9746", "CVE-2017-9747", "CVE-2017-9748", "CVE-2017-9750", "CVE-2017-9755", "CVE-2017-9756", "CVE-2017-9954", "CVE-2017-9955");
    
      script_name(english:"SUSE SLED12 / SLES12 Security Update : binutils (SUSE-SU-2017:3170-1)");
      script_summary(english:"Checks rpm output for the updated packages.");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote SUSE host is missing one or more security updates."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "GNU binutil was updated to the 2.29.1 release, bringing various new
    features, fixing a lot of bugs and security issues. Following security
    issues are being addressed by this release :
    
      - 18750 bsc#1030296 CVE-2014-9939
    
      - 20891 bsc#1030585 CVE-2017-7225
    
      - 20892 bsc#1030588 CVE-2017-7224
    
      - 20898 bsc#1030589 CVE-2017-7223
    
      - 20905 bsc#1030584 CVE-2017-7226
    
      - 20908 bsc#1031644 CVE-2017-7299
    
      - 20909 bsc#1031656 CVE-2017-7300
    
      - 20921 bsc#1031595 CVE-2017-7302
    
      - 20922 bsc#1031593 CVE-2017-7303
    
      - 20924 bsc#1031638 CVE-2017-7301
    
      - 20931 bsc#1031590 CVE-2017-7304
    
      - 21135 bsc#1030298 CVE-2017-7209
    
      - 21137 bsc#1029909 CVE-2017-6965
    
      - 21139 bsc#1029908 CVE-2017-6966
    
      - 21156 bsc#1029907 CVE-2017-6969
    
      - 21157 bsc#1030297 CVE-2017-7210
    
      - 21409 bsc#1037052 CVE-2017-8392
    
      - 21412 bsc#1037057 CVE-2017-8393
    
      - 21414 bsc#1037061 CVE-2017-8394
    
      - 21432 bsc#1037066 CVE-2017-8396
    
      - 21440 bsc#1037273 CVE-2017-8421
    
      - 21580 bsc#1044891 CVE-2017-9746
    
      - 21581 bsc#1044897 CVE-2017-9747
    
      - 21582 bsc#1044901 CVE-2017-9748
    
      - 21587 bsc#1044909 CVE-2017-9750
    
      - 21594 bsc#1044925 CVE-2017-9755
    
      - 21595 bsc#1044927 CVE-2017-9756
    
      - 21787 bsc#1052518 CVE-2017-12448
    
      - 21813 bsc#1052503, CVE-2017-12456, bsc#1052507,
        CVE-2017-12454, bsc#1052509, CVE-2017-12453,
        bsc#1052511, CVE-2017-12452, bsc#1052514,
        CVE-2017-12450, bsc#1052503, CVE-2017-12456,
        bsc#1052507, CVE-2017-12454, bsc#1052509,
        CVE-2017-12453, bsc#1052511, CVE-2017-12452,
        bsc#1052514, CVE-2017-12450
    
      - 21933 bsc#1053347 CVE-2017-12799
    
      - 21990 bsc#1058480 CVE-2017-14333
    
      - 22018 bsc#1056312 CVE-2017-13757
    
      - 22047 bsc#1057144 CVE-2017-14129
    
      - 22058 bsc#1057149 CVE-2017-14130
    
      - 22059 bsc#1057139 CVE-2017-14128
    
      - 22113 bsc#1059050 CVE-2017-14529
    
      - 22148 bsc#1060599 CVE-2017-14745
    
      - 22163 bsc#1061241 CVE-2017-14974
    
      - 22170 bsc#1060621 CVE-2017-14729 Update to binutils
        2.29. [fate#321454, fate#321494, fate#323293] :
    
      - The MIPS port now supports microMIPS eXtended Physical
        Addressing (XPA) instructions for assembly and
        disassembly.
    
      - The MIPS port now supports the microMIPS Release 5 ISA
        for assembly and disassembly.
    
      - The MIPS port now supports the Imagination interAptiv
        MR2 processor, which implements the MIPS32r3 ISA, the
        MIPS16e2 ASE as well as a couple of
        implementation-specific regular MIPS and MIPS16e2 ASE
        instructions.
    
      - The SPARC port now supports the SPARC M8 processor,
        which implements the Oracle SPARC Architecture 2017.
    
      - The MIPS port now supports the MIPS16e2 ASE for assembly
        and disassembly.
    
      - Add support for ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX.
    
      - Add support for the wasm32 ELF conversion of the
        WebAssembly file format.
    
      - Add --inlines option to objdump, which extends the
        --line-numbers option so that inlined functions will
        display their nesting information.
    
      - Add --merge-notes options to objcopy to reduce the size
        of notes in a binary file by merging and deleting
        redundant notes.
    
      - Add support for locating separate debug info files using
        the build-id method, where the separate file has a name
        based upon the build-id of the original file.
    
      - GAS specific :
    
      - Add support for ELF SHF_GNU_MBIND.
    
      - Add support for the WebAssembly file format and wasm32
        ELF conversion.
    
      - PowerPC gas now checks that the correct register class
        is used in instructions. For instance, 'addi
        %f4,%cr3,%r31' warns three times that the registers are
        invalid.
    
      - Add support for the Texas Instruments PRU processor.
    
      - Support for the ARMv8-R architecture and Cortex-R52
        processor has been added to the ARM port.
    
      - GNU ld specific :
    
      - Support for -z shstk in the x86 ELF linker to generate
        GNU_PROPERTY_X86_FEATURE_1_SHSTK in ELF GNU program
        properties.
    
      - Add support for GNU_PROPERTY_X86_FEATURE_1_SHSTK in ELF
        GNU program properties in the x86 ELF linker.
    
      - Add support for GNU_PROPERTY_X86_FEATURE_1_IBT in ELF
        GNU program properties in the x86 ELF linker.
    
      - Support for -z ibtplt in the x86 ELF linker to generate
        IBT-enabled PLT.
    
      - Support for -z ibt in the x86 ELF linker to generate
        IBT-enabled PLT as well as
        GNU_PROPERTY_X86_FEATURE_1_IBT in ELF GNU program
        properties.
    
      - Add support for ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX.
    
      - Add support for ELF GNU program properties.
    
      - Add support for the Texas Instruments PRU processor.
    
      - When configuring for arc*-*-linux* targets the default
        linker emulation will change if --with-cpu=nps400 is
        used at configure time.
    
      - Improve assignment of LMAs to orphan sections in some
        edge cases where a mixture of both AT>LMA_REGION and
        AT(LMA) are used.
    
      - Orphan sections placed after an empty section that has
        an AT(LMA) will now take an load memory address starting
        from LMA.
    
      - Section groups can now be resolved (the group deleted
        and the group members placed like normal sections) at
        partial link time either using the new linker option
        --force-group-allocation or by placing
        FORCE_GROUP_ALLOCATION into the linker script.
    
      - Add riscv64 target, tested with gcc7 and downstream
        newlib 2.4.0
    
      - Prepare riscv32 target (gh#riscv/riscv-newlib#8)
    
      - Make compressed debug section handling explicit, disable
        for old products and enable for gas on all architectures
        otherwise. [bsc#1029995]
    
      - Remove empty rpath component removal optimization from
        to workaround CMake rpath handling. [bsc#1025282] Minor
        security bugs fixed: PR 21147, PR 21148, PR 21149, PR
        21150, PR 21151, PR 21155, PR 21158, PR 21159
    
      - Update to binutils 2.28.
    
      - Add support for locating separate debug info files using
        the build-id method, where the separate file has a name
        based upon the build-id of the original file.
    
      - This version of binutils fixes a problem with PowerPC
        VLE 16A and 16D relocations which were functionally
        swapped, for example, R_PPC_VLE_HA16A performed like
        R_PPC_VLE_HA16D while R_PPC_VLE_HA16D performed like
        R_PPC_VLE_HA16A. This could have been fixed by
        renumbering relocations, which would keep object files
        created by an older version of gas compatible with a
        newer ld. However, that would require an ABI update,
        affecting other assemblers and linkers that create and
        process the relocations correctly. It is recommended
        that all VLE object files be recompiled, but ld can
        modify the relocations if --vle-reloc-fixup is passed to
        ld. If the new ld command line option is not used, ld
        will ld warn on finding relocations inconsistent with
        the instructions being relocated.
    
      - The nm program has a new command line option
        (--with-version-strings) which will display a symbol's
        version information, if any, after the symbol's name.
    
      - The ARC port of objdump now accepts a -M option to
        specify the extra instruction class(es) that should be
        disassembled.
    
      - The --remove-section option for objcopy and strip now
        accepts section patterns starting with an exclamation
        point to indicate a non-matching section. A non-matching
        section is removed from the set of sections matched by
        an earlier --remove-section pattern.
    
      - The --only-section option for objcopy now accepts
        section patterns starting with an exclamation point to
        indicate a non-matching section. A non-matching section
        is removed from the set of sections matched by an
        earlier --only-section pattern.
    
      - New --remove-relocations=SECTIONPATTERN option for
        objcopy and strip. This option can be used to remove
        sections containing relocations. The SECTIONPATTERN is
        the section to which the relocations apply, not the
        relocation section itself.
    
      - GAS specific :
    
      - Add support for the RISC-V architecture.
    
      - Add support for the ARM Cortex-M23 and Cortex-M33
        processors.
    
      - GNU ld specific :
    
      - The EXCLUDE_FILE linker script construct can now be
        applied outside of the section list in order for the
        exclusions to apply over all input sections in the list.
    
      - Add support for the RISC-V architecture.
    
      - The command line option --no-eh-frame-hdr can now be
        used in ELF based linkers to disable the automatic
        generation of .eh_frame_hdr sections.
    
      - Add --in-implib=<infile> to the ARM linker to enable
        specifying a set of Secure Gateway veneers that must
        exist in the output import library specified by
        --out-implib=<outfile> and the address they must have.
        As such, --in-implib is only supported in combination
        with --cmse-implib.
    
      - Extended the --out-implib=<file> option, previously
        restricted to x86 PE targets, to any ELF based target.
        This allows the generation of an import library for an
        ELF executable, which can then be used by another
        application to link against the executable.
    
      - GOLD specific :
    
      - Add -z bndplt option (x86-64 only) to support Intel MPX.
    
      - Add --orphan-handling option.
    
      - Add --stub-group-multi option (PowerPC only).
    
      - Add --target1-rel, --target1-abs, --target2 options (Arm
        only).
    
      - Add -z stack-size option.
    
      - Add --be8 option (Arm only).
    
      - Add HIDDEN support in linker scripts.
    
      - Add SORT_BY_INIT_PRIORITY support in linker scripts.
    
      - Other fixes :
    
      - Fix section alignment on .gnu_debuglink. [bso#21193]
    
      - Add s390x to gold_archs.
    
      - Fix alignment frags for aarch64 (bsc#1003846)
    
      - Call ldconfig for libbfd
    
      - Fix an assembler problem with clang on ARM.
    
      - Restore monotonically increasing section offsets.
    
      - Update to binutils 2.27.
    
      - Add a configure option, --enable-64-bit-archive, to
        force use of a 64-bit format when creating an archive
        symbol index.
    
      - Add --elf-stt-common= option to objcopy for ELF targets
        to control whether to convert common symbols to the
        STT_COMMON type.
    
      - GAS specific :
    
      - Default to --enable-compressed-debug-sections=gas for
        Linux/x86 targets.
    
      - Add --no-pad-sections to stop the assembler from padding
        the end of output sections up to their alignment
        boundary.
    
      - Support for the ARMv8-M architecture has been added to
        the ARM port. Support for the ARMv8-M Security and DSP
        Extensions has also been added to the ARM port.
    
      - ARC backend accepts .extInstruction, .extCondCode,
        .extAuxRegister, and .extCoreRegister pseudo-ops that
        allow an user to define custom instructions, conditional
        codes, auxiliary and core registers.
    
      - Add a configure option --enable-elf-stt-common to decide
        whether ELF assembler should generate common symbols
        with the STT_COMMON type by default. Default to no.
    
      - New command line option --elf-stt-common= for ELF
        targets to control whether to generate common symbols
        with the STT_COMMON type.
    
      - Add ability to set section flags and types via numeric
        values for ELF based targets.
    
      - Add a configure option --enable-x86-relax-relocations to
        decide whether x86 assembler should generate relax
        relocations by default. Default to yes, except for x86
        Solaris targets older than Solaris 12.
    
      - New command line option -mrelax-relocations= for x86
        target to control whether to generate relax relocations.
    
      - New command line option -mfence-as-lock-add=yes for x86
        target to encode lfence, mfence and sfence as 'lock addl
        $0x0, (%[re]sp)'.
    
      - Add assembly-time relaxation option for ARC cpus.
    
      - Add --with-cpu=TYPE configure option for ARC gas. This
        allows the default cpu type to be adjusted at configure
        time.
    
      - GOLD specific :
    
      - Add a configure option --enable-relro to decide whether
        -z relro should be enabled by default. Default to yes.
    
      - Add support for s390, MIPS, AArch64, and TILE-Gx
        architectures.
    
      - Add support for STT_GNU_IFUNC symbols.
    
      - Add support for incremental linking (--incremental).
    
      - GNU ld specific :
    
      - Add a configure option --enable-relro to decide whether
        -z relro should be enabled in ELF linker by default.
        Default to yes for all Linux targets except FRV, HPPA,
        IA64 and MIPS.
    
      - Support for -z noreloc-overflow in the x86-64 ELF linker
        to disable relocation overflow check.
    
      - Add -z common/-z nocommon options for ELF targets to
        control whether to convert common symbols to the
        STT_COMMON type during a relocatable link.
    
      - Support for -z nodynamic-undefined-weak in the x86 ELF
        linker, which avoids dynamic relocations against
        undefined weak symbols in executable.
    
      - The NOCROSSREFSTO command was added to the linker script
        language.
    
      - Add --no-apply-dynamic-relocs to the AArch64 linker to
        do not apply link-time values for dynamic
        relocations.</file></outfile></infile>
    
    Note that Tenable Network Security has extracted the preceding
    description block directly from the SUSE security advisory. Tenable
    has attempted to automatically clean and format it as much as possible
    without introducing additional issues."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1003846"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1025282"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1029907"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1029908"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1029909"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1029995"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030296"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030297"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030298"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030583"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030584"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030585"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030588"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030589"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1031590"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1031593"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1031595"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1031638"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1031644"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1031656"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1033122"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1037052"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1037057"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1037061"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1037062"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1037066"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1037070"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1037072"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1037273"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1038874"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1038875"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1038876"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1038877"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1038878"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1038880"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1038881"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044891"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044897"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044901"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044909"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044925"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044927"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1046094"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1052061"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1052496"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1052503"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1052507"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1052509"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1052511"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1052514"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1052518"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1053347"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1056312"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1056437"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1057139"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1057144"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1057149"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1058480"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1059050"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1060599"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1060621"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1061241"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=437293"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=445037"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=546106"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=561142"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=578249"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=590820"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=691290"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=698346"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=713504"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=776968"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=863764"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=938658"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=970239"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2014-9939/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-12448/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-12450/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-12452/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-12453/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-12454/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-12456/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-12799/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-13757/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-14128/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-14129/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-14130/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-14333/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-14529/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-14729/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-14745/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-14974/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-6965/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-6966/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-6969/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7209/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7210/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7223/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7224/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7225/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7226/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7227/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7299/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7300/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7301/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7302/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7303/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7304/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7614/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8392/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8393/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8394/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8395/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8396/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8397/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8398/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8421/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9038/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9039/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9040/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9041/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9042/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9043/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9044/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9746/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9747/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9748/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9750/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9755/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9756/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9954/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-9955/"
      );
      # https://www.suse.com/support/update/announcement/2017/suse-su-20173170-1/
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?3ef1d319"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "To install this SUSE Security Update use YaST online_update.
    Alternatively you can run the command listed for your product :
    
    SUSE Linux Enterprise Software Development Kit 12-SP3:zypper in -t
    patch SUSE-SLE-SDK-12-SP3-2017-1971=1
    
    SUSE Linux Enterprise Software Development Kit 12-SP2:zypper in -t
    patch SUSE-SLE-SDK-12-SP2-2017-1971=1
    
    SUSE Linux Enterprise Server for SAP 12-SP1:zypper in -t patch
    SUSE-SLE-SAP-12-SP1-2017-1971=1
    
    SUSE Linux Enterprise Server for Raspberry Pi 12-SP2:zypper in -t
    patch SUSE-SLE-RPI-12-SP2-2017-1971=1
    
    SUSE Linux Enterprise Server 12-SP3:zypper in -t patch
    SUSE-SLE-SERVER-12-SP3-2017-1971=1
    
    SUSE Linux Enterprise Server 12-SP2:zypper in -t patch
    SUSE-SLE-SERVER-12-SP2-2017-1971=1
    
    SUSE Linux Enterprise Desktop 12-SP3:zypper in -t patch
    SUSE-SLE-DESKTOP-12-SP3-2017-1971=1
    
    SUSE Linux Enterprise Desktop 12-SP2:zypper in -t patch
    SUSE-SLE-DESKTOP-12-SP2-2017-1971=1
    
    OpenStack Cloud Magnum Orchestration 7:zypper in -t patch
    SUSE-OpenStack-Cloud-Magnum-Orchestration-7-2017-1971=1
    
    To bring your system up-to-date, use 'zypper patch'."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:12");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2017/03/17");
      script_set_attribute(attribute:"patch_publication_date", value:"2017/11/30");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/12/01");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"SuSE Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/SuSE/release", "Host/SuSE/rpm-list");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/SuSE/release");
    if (isnull(release) || release !~ "^(SLED|SLES)") audit(AUDIT_OS_NOT, "SUSE");
    os_ver = pregmatch(pattern: "^(SLE(S|D)\d+)", string:release);
    if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "SUSE");
    os_ver = os_ver[1];
    if (! preg(pattern:"^(SLED12|SLES12)$", string:os_ver)) audit(AUDIT_OS_NOT, "SUSE SLED12 / SLES12", "SUSE " + os_ver);
    
    if (!get_kb_item("Host/SuSE/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if (cpu !~ "^i[3-6]86$" && "x86_64" >!< cpu && "s390x" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "SUSE " + os_ver, cpu);
    
    sp = get_kb_item("Host/SuSE/patchlevel");
    if (isnull(sp)) sp = "0";
    if (os_ver == "SLES12" && (! preg(pattern:"^(2|3)$", string:sp))) audit(AUDIT_OS_NOT, "SLES12 SP2/3", os_ver + " SP" + sp);
    if (os_ver == "SLED12" && (! preg(pattern:"^(2|3)$", string:sp))) audit(AUDIT_OS_NOT, "SLED12 SP2/3", os_ver + " SP" + sp);
    
    
    flag = 0;
    if (rpm_check(release:"SLES12", sp:"3", reference:"binutils-2.29.1-9.20.2")) flag++;
    if (rpm_check(release:"SLES12", sp:"3", reference:"binutils-debuginfo-2.29.1-9.20.2")) flag++;
    if (rpm_check(release:"SLES12", sp:"3", reference:"binutils-debugsource-2.29.1-9.20.2")) flag++;
    if (rpm_check(release:"SLES12", sp:"2", reference:"binutils-2.29.1-9.20.2")) flag++;
    if (rpm_check(release:"SLES12", sp:"2", reference:"binutils-debuginfo-2.29.1-9.20.2")) flag++;
    if (rpm_check(release:"SLES12", sp:"2", reference:"binutils-debugsource-2.29.1-9.20.2")) flag++;
    if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"binutils-2.29.1-9.20.2")) flag++;
    if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"binutils-debuginfo-2.29.1-9.20.2")) flag++;
    if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"binutils-debugsource-2.29.1-9.20.2")) flag++;
    if (rpm_check(release:"SLED12", sp:"2", cpu:"x86_64", reference:"binutils-2.29.1-9.20.2")) flag++;
    if (rpm_check(release:"SLED12", sp:"2", cpu:"x86_64", reference:"binutils-debuginfo-2.29.1-9.20.2")) flag++;
    if (rpm_check(release:"SLED12", sp:"2", cpu:"x86_64", reference:"binutils-debugsource-2.29.1-9.20.2")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
      else security_hole(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "binutils");
    }
    
  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2018-0053-1.NASL
    descriptionThe Docker images provided with SUSE CaaS Platform 2.0 have been updated to include the following updates: binutils : - Update to version 2.29 - 18750 bsc#1030296 CVE-2014-9939 - 20891 bsc#1030585 CVE-2017-7225 - 20892 bsc#1030588 CVE-2017-7224 - 20898 bsc#1030589 CVE-2017-7223 - 20905 bsc#1030584 CVE-2017-7226 - 20908 bsc#1031644 CVE-2017-7299 - 20909 bsc#1031656 CVE-2017-7300 - 20921 bsc#1031595 CVE-2017-7302 - 20922 bsc#1031593 CVE-2017-7303 - 20924 bsc#1031638 CVE-2017-7301 - 20931 bsc#1031590 CVE-2017-7304 - 21135 bsc#1030298 CVE-2017-7209 - 21137 bsc#1029909 CVE-2017-6965 - 21139 bsc#1029908 CVE-2017-6966 - 21156 bsc#1029907 CVE-2017-6969 - 21157 bsc#1030297 CVE-2017-7210 - 21409 bsc#1037052 CVE-2017-8392 - 21412 bsc#1037057 CVE-2017-8393 - 21414 bsc#1037061 CVE-2017-8394 - 21432 bsc#1037066 CVE-2017-8396 - 21440 bsc#1037273 CVE-2017-8421 - 21580 bsc#1044891 CVE-2017-9746 - 21581 bsc#1044897 CVE-2017-9747 - 21582 bsc#1044901 CVE-2017-9748 - 21587 bsc#1044909 CVE-2017-9750 - 21594 bsc#1044925 CVE-2017-9755 - 21595 bsc#1044927 CVE-2017-9756 - 21787 bsc#1052518 CVE-2017-12448 - 21813 bsc#1052503, CVE-2017-12456, bsc#1052507, CVE-2017-12454, bsc#1052509, CVE-2017-12453, bsc#1052511, CVE-2017-12452, bsc#1052514, CVE-2017-12450, bsc#1052503, CVE-2017-12456, bsc#1052507, CVE-2017-12454, bsc#1052509, CVE-2017-12453, bsc#1052511, CVE-2017-12452, bsc#1052514, CVE-2017-12450 - 21933 bsc#1053347 CVE-2017-12799 - 21990 bsc#1058480 CVE-2017-14333 - 22018 bsc#1056312 CVE-2017-13757 - 22047 bsc#1057144 CVE-2017-14129 - 22058 bsc#1057149 CVE-2017-14130 - 22059 bsc#1057139 CVE-2017-14128 - 22113 bsc#1059050 CVE-2017-14529 - 22148 bsc#1060599 CVE-2017-14745 - 22163 bsc#1061241 CVE-2017-14974 - 22170 bsc#1060621 CVE-2017-14729 - Make compressed debug section handling explicit, disable for old products and enable for gas on all architectures otherwise. [bsc#1029995] - Remove empty rpath component removal optimization from to workaround CMake rpath handling. [bsc#1025282] - Fix alignment frags for aarch64 (bsc#1003846) coreutils : - Fix df(1) to no longer interact with excluded file system types, so for example specifying -x nfs no longer hangs with problematic nfs mounts. (bsc#1026567) - Ensure df -l no longer interacts with dummy file system types, so for example no longer hangs with problematic NFS mounted via system.automount(5). (bsc#1043059) - Significantly speed up df(1) for huge mount lists. (bsc#965780) file : - update to version 5.22. - CVE-2014-9621: The ELF parser in file allowed remote attackers to cause a denial of service via a long string. (bsc#913650) - CVE-2014-9620: The ELF parser in file allowed remote attackers to cause a denial of service via a large number of notes. (bsc#913651) - CVE-2014-9653: readelf.c in file did not consider that pread calls sometimes read only a subset of the available data, which allows remote attackers to cause a denial of service (uninitialized memory access) or possibly have unspecified other impact via a crafted ELF file. (bsc#917152) - CVE-2014-8116: The ELF parser (readelf.c) in file allowed remote attackers to cause a denial of service (CPU consumption or crash) via a large number of (1) program or (2) section headers or (3) invalid capabilities. (bsc#910253) - CVE-2014-8117: softmagic.c in file did not properly limit recursion, which allowed remote attackers to cause a denial of service (CPU consumption or crash) via unspecified vectors. (bsc#910253) - Fixed a memory corruption during rpmbuild (bsc#1063269) - Backport of a fix for an increased printable string length as found in file 5.30 (bsc#996511) - file command throws
    last seen2020-06-01
    modified2020-06-02
    plugin id106092
    published2018-01-17
    reporterThis script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/106092
    titleSUSE SLES12 Security Update : CaaS Platform 2.0 images (SUSE-SU-2018:0053-1)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from SUSE update advisory SUSE-SU-2018:0053-1.
    # The text itself is copyright (C) SUSE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(106092);
      script_version("3.8");
      script_cvs_date("Date: 2019/09/10 13:51:46");
    
      script_cve_id("CVE-2014-3710", "CVE-2014-8116", "CVE-2014-8117", "CVE-2014-9620", "CVE-2014-9621", "CVE-2014-9653", "CVE-2014-9939", "CVE-2017-12448", "CVE-2017-12450", "CVE-2017-12452", "CVE-2017-12453", "CVE-2017-12454", "CVE-2017-12456", "CVE-2017-12799", "CVE-2017-12837", "CVE-2017-12883", "CVE-2017-13757", "CVE-2017-14128", "CVE-2017-14129", "CVE-2017-14130", "CVE-2017-14333", "CVE-2017-14529", "CVE-2017-14729", "CVE-2017-14745", "CVE-2017-14974", "CVE-2017-3735", "CVE-2017-3736", "CVE-2017-3737", "CVE-2017-3738", "CVE-2017-6512", "CVE-2017-6965", "CVE-2017-6966", "CVE-2017-6969", "CVE-2017-7209", "CVE-2017-7210", "CVE-2017-7223", "CVE-2017-7224", "CVE-2017-7225", "CVE-2017-7226", "CVE-2017-7299", "CVE-2017-7300", "CVE-2017-7301", "CVE-2017-7302", "CVE-2017-7303", "CVE-2017-7304", "CVE-2017-8392", "CVE-2017-8393", "CVE-2017-8394", "CVE-2017-8396", "CVE-2017-8421", "CVE-2017-9746", "CVE-2017-9747", "CVE-2017-9748", "CVE-2017-9750", "CVE-2017-9755", "CVE-2017-9756");
      script_bugtraq_id(70807, 71692, 71700, 71714, 71715, 72516);
    
      script_name(english:"SUSE SLES12 Security Update : CaaS Platform 2.0 images (SUSE-SU-2018:0053-1)");
      script_summary(english:"Checks rpm output for the updated packages.");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote SUSE host is missing one or more security updates."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "The Docker images provided with SUSE CaaS Platform 2.0 have been
    updated to include the following updates: binutils :
    
      - Update to version 2.29
    
      - 18750 bsc#1030296 CVE-2014-9939
    
      - 20891 bsc#1030585 CVE-2017-7225
    
      - 20892 bsc#1030588 CVE-2017-7224
    
      - 20898 bsc#1030589 CVE-2017-7223
    
      - 20905 bsc#1030584 CVE-2017-7226
    
      - 20908 bsc#1031644 CVE-2017-7299
    
      - 20909 bsc#1031656 CVE-2017-7300
    
      - 20921 bsc#1031595 CVE-2017-7302
    
      - 20922 bsc#1031593 CVE-2017-7303
    
      - 20924 bsc#1031638 CVE-2017-7301
    
      - 20931 bsc#1031590 CVE-2017-7304
    
      - 21135 bsc#1030298 CVE-2017-7209
    
      - 21137 bsc#1029909 CVE-2017-6965
    
      - 21139 bsc#1029908 CVE-2017-6966
    
      - 21156 bsc#1029907 CVE-2017-6969
    
      - 21157 bsc#1030297 CVE-2017-7210
    
      - 21409 bsc#1037052 CVE-2017-8392
    
      - 21412 bsc#1037057 CVE-2017-8393
    
      - 21414 bsc#1037061 CVE-2017-8394
    
      - 21432 bsc#1037066 CVE-2017-8396
    
      - 21440 bsc#1037273 CVE-2017-8421
    
      - 21580 bsc#1044891 CVE-2017-9746
    
      - 21581 bsc#1044897 CVE-2017-9747
    
      - 21582 bsc#1044901 CVE-2017-9748
    
      - 21587 bsc#1044909 CVE-2017-9750
    
      - 21594 bsc#1044925 CVE-2017-9755
    
      - 21595 bsc#1044927 CVE-2017-9756
    
      - 21787 bsc#1052518 CVE-2017-12448
    
      - 21813 bsc#1052503, CVE-2017-12456, bsc#1052507,
        CVE-2017-12454, bsc#1052509, CVE-2017-12453,
        bsc#1052511, CVE-2017-12452, bsc#1052514,
        CVE-2017-12450, bsc#1052503, CVE-2017-12456,
        bsc#1052507, CVE-2017-12454, bsc#1052509,
        CVE-2017-12453, bsc#1052511, CVE-2017-12452,
        bsc#1052514, CVE-2017-12450
    
      - 21933 bsc#1053347 CVE-2017-12799
    
      - 21990 bsc#1058480 CVE-2017-14333
    
      - 22018 bsc#1056312 CVE-2017-13757
    
      - 22047 bsc#1057144 CVE-2017-14129
    
      - 22058 bsc#1057149 CVE-2017-14130
    
      - 22059 bsc#1057139 CVE-2017-14128
    
      - 22113 bsc#1059050 CVE-2017-14529
    
      - 22148 bsc#1060599 CVE-2017-14745
    
      - 22163 bsc#1061241 CVE-2017-14974
    
      - 22170 bsc#1060621 CVE-2017-14729
    
      - Make compressed debug section handling explicit, disable
        for old products and enable for gas on all architectures
        otherwise. [bsc#1029995]
    
      - Remove empty rpath component removal optimization from
        to workaround CMake rpath handling. [bsc#1025282]
    
      - Fix alignment frags for aarch64 (bsc#1003846) 
    coreutils :
    
      - Fix df(1) to no longer interact with excluded file
        system types, so for example specifying -x nfs no longer
        hangs with problematic nfs mounts. (bsc#1026567)
    
      - Ensure df -l no longer interacts with dummy file system
        types, so for example no longer hangs with problematic
        NFS mounted via system.automount(5). (bsc#1043059)
    
      - Significantly speed up df(1) for huge mount lists.
        (bsc#965780) file :
    
      - update to version 5.22.
    
      - CVE-2014-9621: The ELF parser in file allowed remote
        attackers to cause a denial of service via a long
        string. (bsc#913650)
    
      - CVE-2014-9620: The ELF parser in file allowed remote
        attackers to cause a denial of service via a large
        number of notes. (bsc#913651)
    
      - CVE-2014-9653: readelf.c in file did not consider that
        pread calls sometimes read only a subset of the
        available data, which allows remote attackers to cause a
        denial of service (uninitialized memory access) or
        possibly have unspecified other impact via a crafted ELF
        file. (bsc#917152)
    
      - CVE-2014-8116: The ELF parser (readelf.c) in file
        allowed remote attackers to cause a denial of service
        (CPU consumption or crash) via a large number of (1)
        program or (2) section headers or (3) invalid
        capabilities. (bsc#910253)
    
      - CVE-2014-8117: softmagic.c in file did not properly
        limit recursion, which allowed remote attackers to cause
        a denial of service (CPU consumption or crash) via
        unspecified vectors. (bsc#910253)
    
      - Fixed a memory corruption during rpmbuild (bsc#1063269)
    
      - Backport of a fix for an increased printable string
        length as found in file 5.30 (bsc#996511)
    
      - file command throws 'Composite Document File V2
        Document, corrupt: Can't read SSAT' error against excel
        97/2003 file format. (bsc#1009966) gcc7 :
    
      - Support for specific IBM Power9 processor instructions.
    
      - Support for specific IBM zSeries z14 processor
        instructions.
    
      - New packages cross-npvtx-gcc7 and nvptx-tools added to
        the Toolchain Module for specific NVIDIA Card offload
        support. gzip :
    
      - fix mishandling of leading zeros in the end-of-block
        code (bsc#1067891) libsolv :
    
      - Many fixes and improvements for cleandeps.
    
      - Always create dup rules for 'distupgrade' jobs.
    
      - Use recommends also for ordering packages.
    
      - Fix splitprovides handling with addalreadyrecommended
        turned off. (bsc#1059065)
    
      - Expose solver_get_recommendations() in bindings.
    
      - Fix bug in solver_prune_to_highest_prio_per_name
        resulting in bad output from
        solver_get_recommendations().
    
      - Support 'without' and 'unless' dependencies.
    
      - Use same heuristic as upstream to determine source RPMs.
    
      - Fix memory leak in bindings.
    
      - Add pool_best_solvables() function.
    
      - Fix 64bit integer parsing from RPM headers.
    
      - Enable bzip2 and xz/lzma compression support.
    
      - Enable complex/rich dependencies on distributions with
        RPM 4.13+. libtool :
    
      - Add missing dependencies and provides to baselibs.conf
        to make sure libltdl libraries are properly installed.
        (bsc#1056381) libzypp :
    
      - Fix media handling in presence of a repo path prefix.
        (bsc#1062561)
    
      - Fix RepoProvideFile ignoring a repo path prefix.
        (bsc#1062561)
    
      - Remove unused legacy notify-message script.
        (bsc#1058783)
    
      - Support multiple product licenses in repomd.
        (fate#322276)
    
      - Propagate 'rpm --import' errors. (bsc#1057188)
    
      - Fix typos in zypp.conf. openssl :
    
      - CVE-2017-3735: openssl1,openssl: Malformed X.509
        IPAdressFamily could cause OOB read (bsc#1056058)
    
      - CVE-2017-3736: openssl: bn_sqrx8x_internal carry bug on
        x86_64 (bsc#1066242)
    
      - Out of bounds read+crash in DES_fcrypt (bsc#1065363)
    
      - openssl DEFAULT_SUSE cipher list is missing ECDHE-ECDSA
        ciphers (bsc#1055825) perl: Security issues for perl :
    
      - CVE-2017-12837: Heap-based buffer overflow in the
        S_regatom function in regcomp.c in Perl 5 before
        5.24.3-RC1 and 5.26.x before 5.26.1-RC1 allows remote
        attackers to cause a denial of service (out-of-bounds
        write) via a regular expression with a escape and the
        case-insensitive modifier. (bnc#1057724)
    
      - CVE-2017-12883: Buffer overflow in the S_grok_bslash_N
        function in regcomp.c in Perl 5 before 5.24.3-RC1 and
        5.26.x before 5.26.1-RC1 allows remote attackers to
        disclose sensitive information or cause a denial of
        service (application crash) via a crafted regular
        expression with an invalid escape. (bnc#1057721)
    
      - CVE-2017-6512: Race condition in the rmtree and
        remove_tree functions in the File-Path module before
        2.13 for Perl allows attackers to set the mode on
        arbitrary files via vectors involving
        directory-permission loosening logic. (bnc#1047178) Bug
        fixes for perl :
    
      - backport set_capture_string changes from upstream
        (bsc#999735)
    
      - reformat baselibs.conf as source validator workaround
        systemd :
    
      - unit: When JobTimeoutSec= is turned off, implicitly turn
        off JobRunningTimeoutSec= too. (bsc#1048605,
        bsc#1004995)
    
      - compat-rules: Generate compat by-id symlinks with 'nvme'
        prefix missing and warn users that have broken symlinks.
        (bsc#1063249)
    
      - compat-rules: Allow to specify the generation number
        through the kernel command line.
    
      - scsi_id: Fixup prefix for pre-SPC inquiry reply.
        (bsc#1039099)
    
      - tmpfiles: Remove old ICE and X11 sockets at boot.
    
      - tmpfiles: Silently ignore any path that passes through
        autofs. (bsc#1045472)
    
      - pam_logind: Skip leading /dev/ from PAM_TTY field before
        passing it on.
    
      - shared/machine-pool: Fix another mkfs.btrfs checking.
        (bsc#1053595)
    
      - shutdown: Fix incorrect fscanf() result check.
    
      - shutdown: Don't remount,ro network filesystems.
        (bsc#1035386)
    
      - shutdown: Don't be fooled when detaching DM devices with
        BTRFS. (bsc#1055641)
    
      - bash-completion: Add support for --now. (bsc#1053137)
    
      - Add convert-lib-udev-path.sh script to convert /lib/udev
        directory into a symlink pointing to /usr/lib/udev when
        upgrading from SLE11. (bsc#1050152)
    
      - Add a rule to teach hotplug to offline containers
        transparently. (bsc#1040800) timezone :
    
      - Northern Cyprus switches from +03 to +02/+03 on
        2017-10-29
    
      - Fiji ends DST 2018-01-14, not 2018-01-21
    
      - Namibia switches from +01/+02 to +02 on 2018-04-01
    
      - Sudan switches from +03 to +02 on 2017-11-01
    
      - Tonga likely switches from +13/+14 to +13 on 2017-11-05
    
      - Turks and Caicos switches from -04 to -05/-04 on
        2018-11-04
    
      - Corrections to past DST transitions
    
      - Move oversized Canada/East-Saskatchewan to 'backward'
        file
    
      - zic(8) and the reference runtime now reject multiple
        leap seconds within 28 days of each other, or leap
        seconds before the Epoch. util-linux :
    
      - Allow unmounting of filesystems without calling stat()
        on the mount point, when '-c' is used. (bsc#1040968)
    
      - Fix an infinite loop, a crash and report the correct
        minimum and maximum frequencies in lscpu for some
        processors. (bsc#1055446)
    
      - Fix a lscpu failure on Sydney Amazon EC2 region.
        (bsc#1066500)
    
      - If multiple subvolumes are mounted, report the default
        subvolume. (bsc#1039276) velum :
    
      - Fix logout issue on DEX download page * page doesn't
        exist (bsc#1066611)
    
      - Handle invalid sessions more user friendly
    
      - Fix undesired minimum nodes alert blink (bsc#1066371)
        wicked :
    
      - A regression in wicked was causing the hostname not to
        be set correctly via DHCP in some cases
        (bsc#1057007,bsc#1050258)
    
      - Configure the interface MTU correctly even in cases
        where the interface was up already (bsc#1059292)
    
      - Don't abort the process that adds configures routes if
        one route fails (bsc#1036619)
    
      - Handle DHCP4 user-class ids properly (bsc#1045522)
    
      - ethtool: handle channels parameters (bsc#1043883) 
    zypper :
    
      - Locale: Fix possible segmentation fault. (bsc#1064999)
    
      - Add summary hint if product is better updated by a
        different command. This is mainly used by rolling
        distributions like openSUSE Tumbleweed to remind their
        users to use 'zypper dup' to update (not zypper up or
        patch). (bsc#1061384)
    
      - Unify '(add|modify)(repo|service)' property related
        arguments.
    
      - Fixed 'add' commands supporting to set only a subset of
        properties.
    
      - Introduced '-f/-F' as preferred short option for
        --[no-]refresh in all four commands. (bsc#661410,
        bsc#1053671)
    
      - Fix missing package names in installation report.
        (bsc#1058695)
    
      - Differ between unsupported and packages with unknown
        support status. (bsc#1057634)
    
      - Return error code '107' if an RPM's %post configuration
        script fails, but only if ZYPPER_ON_CODE12_RETURN_107=1
        is set in the environment. (bsc#1047233)
    
    Note that Tenable Network Security has extracted the preceding
    description block directly from the SUSE security advisory. Tenable
    has attempted to automatically clean and format it as much as possible
    without introducing additional issues."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1003846"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1004995"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1009966"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1022404"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1025282"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1025891"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1026567"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1029907"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1029908"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1029909"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1029995"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1030623"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1035386"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1036619"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1039099"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1039276"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1039513"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1040800"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1040968"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1041090"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1043059"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1043590"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1043883"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1043966"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1044016"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1045472"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1045522"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1045732"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1047178"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1047233"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1048605"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1048861"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1050152"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1050258"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1050487"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1052503"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1052507"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1052509"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1052511"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1052514"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1052518"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1053137"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1053347"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1053595"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1053671"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1055446"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1055641"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1055825"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1056058"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1056312"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1056381"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1057007"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1057139"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1057144"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1057149"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1057188"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1057634"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1057721"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1057724"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1058480"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1058695"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1058783"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1059050"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1059065"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1059075"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1059292"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1059723"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1060599"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1060621"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1061241"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1061384"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1062561"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1063249"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1063269"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1064571"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1064999"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1065363"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1066242"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1066371"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1066500"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1066611"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1067891"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1070878"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1070958"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1071905"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1071906"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2014-3710/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2014-8116/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2014-8117/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2014-9620/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2014-9621/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2014-9653/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-12448/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-12450/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-12452/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-12453/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-12454/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-12456/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-12799/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-12837/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-12883/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-13757/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-14128/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-14129/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-14130/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-14333/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-14529/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-14729/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-14745/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-14974/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-3735/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-3736/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-3737/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-3738/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-6512/"
      );
      # https://www.suse.com/support/update/announcement/2018/suse-su-20180053-1/
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?b2e30c71"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "To install this SUSE Security Update use YaST online_update.
    Alternatively you can run the command listed for your product :
    
    SUSE CaaS Platform ALL:zypper in -t patch SUSE-CAASP-ALL-2018-40=1
    
    To bring your system up-to-date, use 'zypper patch'."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:sles12-caasp-dex-image");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:sles12-dnsmasq-nanny-image");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:sles12-haproxy-image");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:sles12-kubedns-image");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:sles12-mariadb-image");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:sles12-openldap-image");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:sles12-pause-image");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:sles12-pv-recycler-node-image");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:sles12-salt-api-image");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:sles12-salt-master-image");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:sles12-salt-minion-image");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:sles12-sidecar-image");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:sles12-tiller-image");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:sles12-velum-image");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:12");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2014/11/05");
      script_set_attribute(attribute:"patch_publication_date", value:"2018/01/09");
      script_set_attribute(attribute:"plugin_publication_date", value:"2018/01/17");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"SuSE Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/SuSE/release", "Host/SuSE/rpm-list");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/SuSE/release");
    if (isnull(release) || release !~ "^(SLED|SLES)") audit(AUDIT_OS_NOT, "SUSE");
    os_ver = pregmatch(pattern: "^(SLE(S|D)\d+)", string:release);
    if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "SUSE");
    os_ver = os_ver[1];
    if (! preg(pattern:"^(SLES12)$", string:os_ver)) audit(AUDIT_OS_NOT, "SUSE SLES12", "SUSE " + os_ver);
    
    if (!get_kb_item("Host/SuSE/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if (cpu !~ "^i[3-6]86$" && "x86_64" >!< cpu && "s390x" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "SUSE " + os_ver, cpu);
    if (cpu >!< "x86_64") audit(AUDIT_ARCH_NOT, "x86_64", cpu);
    
    
    
    flag = 0;
    if (rpm_check(release:"SLES12", cpu:"x86_64", reference:"sles12-caasp-dex-image-2.0.0-3.3.11")) flag++;
    if (rpm_check(release:"SLES12", cpu:"x86_64", reference:"sles12-dnsmasq-nanny-image-2.0.1-2.3.15")) flag++;
    if (rpm_check(release:"SLES12", cpu:"x86_64", reference:"sles12-haproxy-image-2.0.1-2.3.16")) flag++;
    if (rpm_check(release:"SLES12", cpu:"x86_64", reference:"sles12-kubedns-image-2.0.1-2.3.11")) flag++;
    if (rpm_check(release:"SLES12", cpu:"x86_64", reference:"sles12-mariadb-image-2.0.1-2.3.15")) flag++;
    if (rpm_check(release:"SLES12", cpu:"x86_64", reference:"sles12-openldap-image-2.0.0-2.3.11")) flag++;
    if (rpm_check(release:"SLES12", cpu:"x86_64", reference:"sles12-pause-image-2.0.1-2.3.9")) flag++;
    if (rpm_check(release:"SLES12", cpu:"x86_64", reference:"sles12-pv-recycler-node-image-2.0.1-2.3.10")) flag++;
    if (rpm_check(release:"SLES12", cpu:"x86_64", reference:"sles12-salt-api-image-2.0.1-2.3.10")) flag++;
    if (rpm_check(release:"SLES12", cpu:"x86_64", reference:"sles12-salt-master-image-2.0.1-2.3.10")) flag++;
    if (rpm_check(release:"SLES12", cpu:"x86_64", reference:"sles12-salt-minion-image-2.0.1-2.3.14")) flag++;
    if (rpm_check(release:"SLES12", cpu:"x86_64", reference:"sles12-sidecar-image-2.0.1-2.3.11")) flag++;
    if (rpm_check(release:"SLES12", cpu:"x86_64", reference:"sles12-tiller-image-2.0.0-2.3.11")) flag++;
    if (rpm_check(release:"SLES12", cpu:"x86_64", reference:"sles12-velum-image-2.0.1-2.3.13")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
      else security_hole(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "CaaS Platform 2.0 images");
    }
    
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-1799.NASL
    descriptionAccording to the versions of the binutils packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - elflink.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, has a
    last seen2020-05-06
    modified2019-08-23
    plugin id128091
    published2019-08-23
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/128091
    titleEulerOS 2.0 SP5 : binutils (EulerOS-SA-2019-1799)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(128091);
      script_version("1.4");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/04");
    
      script_cve_id(
        "CVE-2017-12799",
        "CVE-2017-13710",
        "CVE-2017-15024",
        "CVE-2017-15996",
        "CVE-2017-7300",
        "CVE-2017-7301",
        "CVE-2017-7302",
        "CVE-2017-7303",
        "CVE-2017-7304",
        "CVE-2017-7614",
        "CVE-2017-8393",
        "CVE-2017-8395",
        "CVE-2017-8396",
        "CVE-2017-8397",
        "CVE-2017-8398",
        "CVE-2017-9040",
        "CVE-2017-9042",
        "CVE-2017-9742",
        "CVE-2017-9744",
        "CVE-2017-9746",
        "CVE-2017-9747",
        "CVE-2017-9748",
        "CVE-2017-9749",
        "CVE-2017-9750",
        "CVE-2017-9751",
        "CVE-2017-9752",
        "CVE-2017-9753",
        "CVE-2017-9754",
        "CVE-2017-9755",
        "CVE-2017-9756",
        "CVE-2018-6323"
      );
    
      script_name(english:"EulerOS 2.0 SP5 : binutils (EulerOS-SA-2019-1799)");
      script_summary(english:"Checks the rpm output for the updated packages.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote EulerOS host is missing multiple security updates.");
      script_set_attribute(attribute:"description", value:
    "According to the versions of the binutils packages installed, the
    EulerOS installation on the remote host is affected by the following
    vulnerabilities :
    
      - elflink.c in the Binary File Descriptor (BFD) library
        (aka libbfd), as distributed in GNU Binutils 2.28, has
        a 'member access within null pointer' undefined
        behavior issue, which might allow remote attackers to
        cause a denial of service (application crash) or
        possibly have unspecified other impact via an 'int
        main() {return 0}' program.(CVE-2017-7614)
    
      - The elf_object_p function in elfcode.h in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.29.1, has an unsigned
        integer overflow because bfd_size_type multiplication
        is not used. A crafted ELF file allows remote attackers
        to cause a denial of service (application crash) or
        possibly have unspecified other impact.(CVE-2018-6323)
    
      - The aarch64_ext_ldst_reglist function in
        opcodes/aarch64-dis.c in GNU Binutils 2.28 allows
        remote attackers to cause a denial of service (buffer
        overflow and application crash) or possibly have
        unspecified other impact via a crafted binary file, as
        demonstrated by mishandling of this file during
        'objdump -D' execution.(CVE-2017-9756)
    
      - opcodes/i386-dis.c in GNU Binutils 2.28 does not
        consider the number of registers for bnd mode, which
        allows remote attackers to cause a denial of service
        (buffer overflow and application crash) or possibly
        have unspecified other impact via a crafted binary
        file, as demonstrated by mishandling of this file
        during 'objdump -D' execution.(CVE-2017-9755)
    
      - The process_otr function in bfd/versados.c in the
        Binary File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, does not validate a
        certain offset, which allows remote attackers to cause
        a denial of service (buffer overflow and application
        crash) or possibly have unspecified other impact via a
        crafted binary file, as demonstrated by mishandling of
        this file during 'objdump -D' execution.(CVE-2017-9754)
    
      - The versados_mkobject function in bfd/versados.c in the
        Binary File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, does not initialize a
        certain data structure, which allows remote attackers
        to cause a denial of service (buffer overflow and
        application crash) or possibly have unspecified other
        impact via a crafted binary file, as demonstrated by
        mishandling of this file during 'objdump -D'
        execution.(CVE-2017-9753)
    
      - bfd/vms-alpha.c in the Binary File Descriptor (BFD)
        library (aka libbfd), as distributed in GNU Binutils
        2.28, allows remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of this
        file in the _bfd_vms_get_value and _bfd_vms_slurp_etir
        functions during 'objdump -D' execution.(CVE-2017-9752)
    
      - opcodes/rl78-decode.opc in GNU Binutils 2.28 has an
        unbounded GETBYTE macro, which allows remote attackers
        to cause a denial of service (buffer overflow and
        application crash) or possibly have unspecified other
        impact via a crafted binary file, as demonstrated by
        mishandling of this file during 'objdump -D'
        execution.(CVE-2017-9751)
    
      - opcodes/rx-decode.opc in GNU Binutils 2.28 lacks bounds
        checks for certain scale arrays, which allows remote
        attackers to cause a denial of service (buffer overflow
        and application crash) or possibly have unspecified
        other impact via a crafted binary file, as demonstrated
        by mishandling of this file during 'objdump -D'
        execution.(CVE-2017-9750)
    
      - The *regs* macros in opcodes/bfin-dis.c in GNU Binutils
        2.28 allow remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of this
        file during 'objdump -D' execution.(CVE-2017-9749)
    
      - The ieee_object_p function in bfd/ieee.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, might allow remote
        attackers to cause a denial of service (buffer overflow
        and application crash) or possibly have unspecified
        other impact via a crafted binary file, as demonstrated
        by mishandling of this file during 'objdump -D'
        execution. NOTE: this may be related to a compiler
        bug.(CVE-2017-9748)
    
      - The ieee_archive_p function in bfd/ieee.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.28, might allow remote
        attackers to cause a denial of service (buffer overflow
        and application crash) or possibly have unspecified
        other impact via a crafted binary file, as demonstrated
        by mishandling of this file during 'objdump -D'
        execution. NOTE: this may be related to a compiler
        bug.(CVE-2017-9747)
    
      - The disassemble_bytes function in objdump.c in GNU
        Binutils 2.28 allows remote attackers to cause a denial
        of service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of rae
        insns printing for this file during 'objdump -D'
        execution.(CVE-2017-9746)
    
      - The sh_elf_set_mach_from_flags function in
        bfd/elf32-sh.c in the Binary File Descriptor (BFD)
        library (aka libbfd), as distributed in GNU Binutils
        2.28, allows remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file, as demonstrated by mishandling of this
        file during 'objdump -D' execution.(CVE-2017-9744)
    
      - The score_opcodes function in opcodes/score7-dis.c in
        GNU Binutils 2.28 allows remote attackers to cause a
        denial of service (buffer overflow and application
        crash) or possibly have unspecified other impact via a
        crafted binary file, as demonstrated by mishandling of
        this file during 'objdump -D' execution.(CVE-2017-9742)
    
      - readelf.c in GNU Binutils 2017-04-12 has a 'cannot be
        represented in type long' issue, which might allow
        remote attackers to cause a denial of service
        (application crash) or possibly have unspecified other
        impact via a crafted ELF file.(CVE-2017-9042)
    
      - elfcomm.c in readelf in GNU Binutils 2.29 allows remote
        attackers to cause a denial of service (excessive
        memory allocation) or possibly have unspecified other
        impact via a crafted ELF file that triggers a 'buffer
        overflow on fuzzed archive header,' related to an
        uninitialized variable, an improper conditional jump,
        and the get_archive_member_name,
        process_archive_index_and_symbols, and setup_archive
        functions.(CVE-2017-15996)
    
      - The elf_read_notesfunction in bfd/elf.c in GNU Binutils
        2.29 allows remote attackers to cause a denial of
        service (buffer overflow and application crash) or
        possibly have unspecified other impact via a crafted
        binary file.(CVE-2017-12799)
    
      - The setup_group function in elf.c in the Binary File
        Descriptor (BFD) library (aka libbfd), as distributed
        in GNU Binutils 2.29, allows remote attackers to cause
        a denial of service (NULL pointer dereference and
        application crash) via a group section that is too
        small.(CVE-2017-13710)
    
      - find_abstract_instance_name in dwarf2.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.29, allows remote
        attackers to cause a denial of service (infinite
        recursion and application crash) via a crafted ELF
        file.(CVE-2017-15024)
    
      - dwarf.c in GNU Binutils 2.28 is vulnerable to an
        invalid read of size 1 during dumping of debug
        information from a corrupt binary. This vulnerability
        causes programs that conduct an analysis of binary
        programs, such as objdump and readelf, to
        crash.(CVE-2017-8398)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid read of size 1 and an invalid write of size
        1 during processing of a corrupt binary containing
        reloc(s) with negative addresses. This vulnerability
        causes programs that conduct an analysis of binary
        programs using the libbfd library, such as objdump, to
        crash.(CVE-2017-8397)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid read of size 1 because the existing reloc
        offset range tests didn't catch small negative offsets
        less than the size of the reloc field. This
        vulnerability causes programs that conduct an analysis
        of binary programs using the libbfd library, such as
        objdump, to crash.(CVE-2017-8396)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid write of size 8 because of missing a
        malloc() return-value check to see if memory had
        actually been allocated in the
        _bfd_generic_get_section_contents function. This
        vulnerability causes programs that conduct an analysis
        of binary programs using the libbfd library, such as
        objcopy, to crash.(CVE-2017-8395)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to a
        global buffer over-read error because of an assumption
        made by code that runs for objcopy and strip, that
        SHT_REL/SHR_RELA sections are always named starting
        with a .rel/.rela prefix. This vulnerability causes
        programs that conduct an analysis of binary programs
        using the libbfd library, such as objcopy and strip, to
        crash.(CVE-2017-8393)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid read (of size 8) because of missing a check
        (in the copy_special_section_fields function) for an
        invalid sh_link field before attempting to follow it.
        This vulnerability causes Binutils utilities like strip
        to crash.(CVE-2017-7304)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, is vulnerable to
        an invalid read (of size 4) because of missing a check
        (in the find_link function) for null headers before
        attempting to match them. This vulnerability causes
        Binutils utilities like strip to crash.(CVE-2017-7303)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, has a
        swap_std_reloc_out function in bfd/aoutx.h that is
        vulnerable to an invalid read (of size 4) because of
        missing checks for relocs that could not be recognised.
        This vulnerability causes Binutils utilities like strip
        to crash.(CVE-2017-7302)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, has an
        aout_link_add_symbols function in bfd/aoutx.h that has
        an off-by-one vulnerability because it does not
        carefully check the string offset. The vulnerability
        could lead to a GNU linker (ld) program
        crash.(CVE-2017-7301)
    
      - The Binary File Descriptor (BFD) library (aka libbfd),
        as distributed in GNU Binutils 2.28, has an
        aout_link_add_symbols function in bfd/aoutx.h that is
        vulnerable to a heap-based buffer over-read
        (off-by-one) because of an incomplete check for invalid
        string offsets while loading symbols, leading to a GNU
        linker (ld) program crash.(CVE-2017-7300)
    
      - GNU Binutils 2017-04-03 allows remote attackers to
        cause a denial of service (NULL pointer dereference and
        application crash), related to the
        process_mips_specific function in readelf.c, via a
        crafted ELF file that triggers a large
        memory-allocation attempt.(CVE-2017-9040)
    
    Note that Tenable Network Security has extracted the preceding
    description block directly from the EulerOS security advisory. Tenable
    has attempted to automatically clean and format it as much as possible
    without introducing additional issues.");
      # https://developer.huaweicloud.com/ict/en/site-euleros/euleros/security-advisories/EulerOS-SA-2019-1799
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?3faed01f");
      script_set_attribute(attribute:"solution", value:
    "Update the affected binutils packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2019/08/16");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/08/23");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:binutils-devel");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:2.0");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Huawei Local Security Checks");
    
      script_copyright(english:"This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "Host/EulerOS/sp");
      script_exclude_keys("Host/EulerOS/uvp_version");
    
      exit(0);
    }
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    
    release = get_kb_item("Host/EulerOS/release");
    if (isnull(release) || release !~ "^EulerOS") audit(AUDIT_OS_NOT, "EulerOS");
    if (release !~ "^EulerOS release 2\.0(\D|$)") audit(AUDIT_OS_NOT, "EulerOS 2.0");
    
    sp = get_kb_item("Host/EulerOS/sp");
    if (isnull(sp) || sp !~ "^(5)$") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP5");
    
    uvp = get_kb_item("Host/EulerOS/uvp_version");
    if (!empty_or_null(uvp)) audit(AUDIT_OS_NOT, "EulerOS 2.0 SP5", "EulerOS UVP " + uvp);
    
    if (!get_kb_item("Host/EulerOS/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "aarch64" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "EulerOS", cpu);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_ARCH_NOT, "i686 / x86_64", cpu);
    
    flag = 0;
    
    pkgs = ["binutils-2.27-28.base.1.h20.eulerosv2r7",
            "binutils-devel-2.27-28.base.1.h20.eulerosv2r7"];
    
    foreach (pkg in pkgs)
      if (rpm_check(release:"EulerOS-2.0", sp:"5", reference:pkg)) flag++;
    
    if (flag)
    {
      security_report_v4(
        port       : 0,
        severity   : SECURITY_HOLE,
        extra      : rpm_report_get()
      );
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "binutils");
    }