Vulnerabilities > CVE-2018-17360 - Out-of-bounds Read vulnerability in GNU Binutils 2.31.1

047910
CVSS 4.3 - MEDIUM
Attack vector
NETWORK
Attack complexity
MEDIUM
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
PARTIAL
network
gnu
CWE-125
nessus

Summary

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.

Vulnerable Configurations

Part Description Count
Application
Gnu
1

Common Weakness Enumeration (CWE)

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Overread Buffers
    An adversary attacks a target by providing input that causes an application to read beyond the boundary of a defined buffer. This typically occurs when a value influencing where to start or stop reading is set to reflect positions outside of the valid memory location of the buffer. This type of attack may result in exposure of sensitive information, a system crash, or arbitrary code execution.

Nessus

  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-2129.NASL
    descriptionAccording to the versions of the binutils packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - 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 _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
    last seen2020-05-08
    modified2019-11-12
    plugin id130838
    published2019-11-12
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/130838
    titleEulerOS 2.0 SP5 : binutils (EulerOS-SA-2019-2129)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(130838);
      script_version("1.3");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/07");
    
      script_cve_id(
        "CVE-2017-12967",
        "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-15025",
        "CVE-2017-15225",
        "CVE-2017-15938",
        "CVE-2017-15939",
        "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-8394",
        "CVE-2017-9038",
        "CVE-2017-9039",
        "CVE-2017-9041",
        "CVE-2017-9745",
        "CVE-2017-9954",
        "CVE-2017-9955",
        "CVE-2018-17358",
        "CVE-2018-17359",
        "CVE-2018-17360"
      );
    
      script_name(english:"EulerOS 2.0 SP5 : binutils (EulerOS-SA-2019-2129)");
      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 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 _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)
    
      - 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 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)
    
      - 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 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)
    
      - 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)
    
      - 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 (memory consumption) via a crafted
        ELF file with many program headers, related to the
        get_program_headers function in
        readelf.c.(CVE-2017-9039)
    
      - 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)
    
      - 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 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)
    
      - 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)
    
      - 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)
    
      - _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 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)
    
      - 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)
    
    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-2129
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?03c19dd4");
      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:"cvss_score_source", value:"CVE-2017-9745");
      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/10/27");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/11/12");
    
      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.h30.eulerosv2r7",
            "binutils-devel-2.27-28.base.1.h30.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_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 familySuSE Local Security Checks
    NASL idOPENSUSE-2019-2432.NASL
    descriptionThis update for binutils fixes the following issues : binutils was updated to current 2.32 branch [jsc#ECO-368]. Includes following security fixes : - CVE-2018-17358: Fixed invalid memory access in _bfd_stab_section_find_nearest_line in syms.c (bsc#1109412) - CVE-2018-17359: Fixed invalid memory access exists in bfd_zalloc in opncls.c (bsc#1109413) - CVE-2018-17360: Fixed heap-based buffer over-read in bfd_getl32 in libbfd.c (bsc#1109414) - CVE-2018-17985: Fixed a stack consumption problem caused by the cplus_demangle_type (bsc#1116827) - CVE-2018-18309: Fixed an invalid memory address dereference was discovered in read_reloc in reloc.c (bsc#1111996) - CVE-2018-18483: Fixed get_count function provided by libiberty that allowed attackers to cause a denial of service or other unspecified impact (bsc#1112535) - CVE-2018-18484: Fixed stack exhaustion in the C++ demangling functions provided by libiberty, caused by recursive stack frames (bsc#1112534) - CVE-2018-18605: Fixed a heap-based buffer over-read issue was discovered in the function sec_merge_hash_lookup causing a denial of service (bsc#1113255) - CVE-2018-18606: Fixed a NULL pointer dereference in _bfd_add_merge_section when attempting to merge sections with large alignments, causing denial of service (bsc#1113252) - CVE-2018-18607: Fixed a NULL pointer dereference in elf_link_input_bfd when used for finding STT_TLS symbols without any TLS section, causing denial of service (bsc#1113247) - CVE-2018-19931: Fixed a heap-based buffer overflow in bfd_elf32_swap_phdr_in in elfcode.h (bsc#1118831) - CVE-2018-19932: Fixed an integer overflow and infinite loop caused by the IS_CONTAINED_BY_LMA (bsc#1118830) - CVE-2018-20623: Fixed a use-after-free in the error function in elfcomm.c (bsc#1121035) - CVE-2018-20651: Fixed a denial of service via a NULL pointer dereference in elf_link_add_object_symbols in elflink.c (bsc#1121034) - CVE-2018-20671: Fixed an integer overflow that can trigger a heap-based buffer overflow in load_specific_debug_section in objdump.c (bsc#1121056) - CVE-2018-1000876: Fixed integer overflow in bfd_get_dynamic_reloc_upper_bound,bfd_canonicalize_dynam ic_reloc in objdump (bsc#1120640) - CVE-2019-1010180: Fixed an out of bound memory access that could lead to crashes (bsc#1142772) - enable xtensa architecture (Tensilica lc6 and related) - Use -ffat-lto-objects in order to provide assembly for static libs (bsc#1141913). - Fixed some LTO build issues (bsc#1133131 bsc#1133232). - riscv: Don
    last seen2020-06-01
    modified2020-06-02
    plugin id130576
    published2019-11-06
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/130576
    titleopenSUSE Security Update : binutils (openSUSE-2019-2432)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from openSUSE Security Update openSUSE-2019-2432.
    #
    # The text description of this plugin is (C) SUSE LLC.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(130576);
      script_version("1.2");
      script_cvs_date("Date: 2019/12/17");
    
      script_cve_id("CVE-2018-1000876", "CVE-2018-17358", "CVE-2018-17359", "CVE-2018-17360", "CVE-2018-17985", "CVE-2018-18309", "CVE-2018-18483", "CVE-2018-18484", "CVE-2018-18605", "CVE-2018-18606", "CVE-2018-18607", "CVE-2018-19931", "CVE-2018-19932", "CVE-2018-20623", "CVE-2018-20651", "CVE-2018-20671", "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", "CVE-2019-1010180");
    
      script_name(english:"openSUSE Security Update : binutils (openSUSE-2019-2432)");
      script_summary(english:"Check for the openSUSE-2019-2432 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 fixes the following issues :
    
    binutils was updated to current 2.32 branch [jsc#ECO-368].
    
    Includes following security fixes :
    
      - CVE-2018-17358: Fixed invalid memory access in
        _bfd_stab_section_find_nearest_line in syms.c
        (bsc#1109412)
    
      - CVE-2018-17359: Fixed invalid memory access exists in
        bfd_zalloc in opncls.c (bsc#1109413)
    
      - CVE-2018-17360: Fixed heap-based buffer over-read in
        bfd_getl32 in libbfd.c (bsc#1109414)
    
      - CVE-2018-17985: Fixed a stack consumption problem caused
        by the cplus_demangle_type (bsc#1116827)
    
      - CVE-2018-18309: Fixed an invalid memory address
        dereference was discovered in read_reloc in reloc.c
        (bsc#1111996)
    
      - CVE-2018-18483: Fixed get_count function provided by
        libiberty that allowed attackers to cause a denial of
        service or other unspecified impact (bsc#1112535)
    
      - CVE-2018-18484: Fixed stack exhaustion in the C++
        demangling functions provided by libiberty, caused by
        recursive stack frames (bsc#1112534)
    
      - CVE-2018-18605: Fixed a heap-based buffer over-read
        issue was discovered in the function
        sec_merge_hash_lookup causing a denial of service
        (bsc#1113255)
    
      - CVE-2018-18606: Fixed a NULL pointer dereference in
        _bfd_add_merge_section when attempting to merge sections
        with large alignments, causing denial of service
        (bsc#1113252)
    
      - CVE-2018-18607: Fixed a NULL pointer dereference in
        elf_link_input_bfd when used for finding STT_TLS symbols
        without any TLS section, causing denial of service
        (bsc#1113247)
    
      - CVE-2018-19931: Fixed a heap-based buffer overflow in
        bfd_elf32_swap_phdr_in in elfcode.h (bsc#1118831)
    
      - CVE-2018-19932: Fixed an integer overflow and infinite
        loop caused by the IS_CONTAINED_BY_LMA (bsc#1118830)
    
      - CVE-2018-20623: Fixed a use-after-free in the error
        function in elfcomm.c (bsc#1121035)
    
      - CVE-2018-20651: Fixed a denial of service via a NULL
        pointer dereference in elf_link_add_object_symbols in
        elflink.c (bsc#1121034)
    
      - CVE-2018-20671: Fixed an integer overflow that can
        trigger a heap-based buffer overflow in
        load_specific_debug_section in objdump.c (bsc#1121056)
    
      - CVE-2018-1000876: Fixed integer overflow in
        bfd_get_dynamic_reloc_upper_bound,bfd_canonicalize_dynam
        ic_reloc in objdump (bsc#1120640)
    
      - CVE-2019-1010180: Fixed an out of bound memory access
        that could lead to crashes (bsc#1142772)
    
      - enable xtensa architecture (Tensilica lc6 and related)
    
      - Use -ffat-lto-objects in order to provide assembly for
        static libs (bsc#1141913).
    
      - Fixed some LTO build issues (bsc#1133131 bsc#1133232).
    
      - riscv: Don't check ABI flags if no code section
    
      - Fixed a segfault in ld when building some versions of
        pacemaker (bsc#1154025, bsc#1154016).
    
      - Add avr, epiphany and rx to target_list so that the
        common binutils can handle all objects we can create
        with crosses (bsc#1152590).
    
    Update to binutils 2.32 :
    
      - The binutils now support for the C-SKY processor series.
    
      - The x86 assembler now supports a -mvexwig=[0|1] option
        to control encoding of VEX.W-ignored (WIG) VEX
        instructions. It also has a new -mx86-used-note=[yes|no]
        option to generate (or not) x86 GNU property notes. 
    
      - The MIPS assembler now supports the Loongson EXTensions
        R2 (EXT2), the Loongson EXTensions (EXT) instructions,
        the Loongson Content Address Memory (CAM) ASE and the
        Loongson MultiMedia extensions Instructions (MMI) ASE.
    
      - The addr2line, c++filt, nm and objdump tools now have a
        default limit on the maximum amount of recursion that is
        allowed whilst demangling strings. This limit can be
        disabled if necessary.
    
      - Objdump's --disassemble option can now take a parameter,
        specifying the starting symbol for disassembly.
        Disassembly will continue from this symbol up to the
        next symbol or the end of the function.
    
      - The BFD linker will now report property change in linker
        map file when merging GNU properties.
    
      - The BFD linker's -t option now doesn't report members
        within archives, unless -t is given twice. This makes it
        more useful when generating a list of files that should
        be packaged for a linker bug report.
    
      - The GOLD linker has improved warning messages for
        relocations that refer to discarded sections.
    
      - Improve relro support on s390 [fate#326356]
    
      - Fix broken debug symbols (bsc#1118644)
    
      - Handle ELF compressed header alignment correctly.
    
    This update was imported from the SUSE:SLE-15-SP1:Update update
    project."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1109412"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1109413"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1109414"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1111996"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1112534"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1112535"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1113247"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1113252"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1113255"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1116827"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1118644"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1118830"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1118831"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1120640"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1121034"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1121035"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1121056"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1133131"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1133232"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1141913"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1142772"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1152590"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1154016"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1154025"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://features.opensuse.org/326356"
      );
      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:"cvss_score_source", value:"CVE-2019-1010180");
      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-epiphany-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-epiphany-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-epiphany-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-riscv64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-riscv64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-riscv64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-rx-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-rx-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:cross-rx-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:"cpe:/o:novell:opensuse:15.1");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2018/01/26");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/11/05");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/11/06");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 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/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 !~ "^(SUSE15\.1)$") audit(AUDIT_OS_RELEASE_NOT, "openSUSE", "15.1", 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:"SUSE15.1", reference:"binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"binutils-devel-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"binutils-gold-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"binutils-gold-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"binutils-devel-32bit-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-aarch64-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-aarch64-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-aarch64-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-arm-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-arm-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-arm-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-avr-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-avr-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-avr-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-epiphany-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-epiphany-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-epiphany-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-hppa-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-hppa-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-hppa-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-hppa64-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-hppa64-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-hppa64-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-i386-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-i386-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-i386-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-ia64-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-ia64-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-ia64-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-m68k-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-m68k-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-m68k-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-mips-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-mips-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-mips-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-ppc-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-ppc-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-ppc-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-ppc64-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-ppc64-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-ppc64-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-ppc64le-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-ppc64le-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-ppc64le-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-riscv64-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-riscv64-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-riscv64-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-rx-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-rx-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-rx-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-s390-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-s390-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-s390-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-s390x-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-s390x-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-s390x-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-sparc-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-sparc-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-sparc-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-sparc64-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-sparc64-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-sparc64-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-spu-binutils-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-spu-binutils-debuginfo-2.32-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"cross-spu-binutils-debugsource-2.32-lp151.3.3.1") ) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get());
      else security_warning(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-2019-2650-1.NASL
    descriptionThis update for binutils fixes the following issues : binutils was updated to current 2.32 branch @7b468db3 [jsc#ECO-368] : Includes the following security fixes : CVE-2018-17358: Fixed invalid memory access in _bfd_stab_section_find_nearest_line in syms.c (bsc#1109412) CVE-2018-17359: Fixed invalid memory access exists in bfd_zalloc in opncls.c (bsc#1109413) CVE-2018-17360: Fixed heap-based buffer over-read in bfd_getl32 in libbfd.c (bsc#1109414) CVE-2018-17985: Fixed a stack consumption problem caused by the cplus_demangle_type (bsc#1116827) CVE-2018-18309: Fixed an invalid memory address dereference was discovered in read_reloc in reloc.c (bsc#1111996) CVE-2018-18483: Fixed get_count function provided by libiberty that allowed attackers to cause a denial of service or other unspecified impact (bsc#1112535) CVE-2018-18484: Fixed stack exhaustion in the C++ demangling functions provided by libiberty, caused by recursive stack frames (bsc#1112534) CVE-2018-18605: Fixed a heap-based buffer over-read issue was discovered in the function sec_merge_hash_lookup causing a denial of service (bsc#1113255) CVE-2018-18606: Fixed a NULL pointer dereference in _bfd_add_merge_section when attempting to merge sections with large alignments, causing denial of service (bsc#1113252) CVE-2018-18607: Fixed a NULL pointer dereference in elf_link_input_bfd when used for finding STT_TLS symbols without any TLS section, causing denial of service (bsc#1113247) CVE-2018-19931: Fixed a heap-based buffer overflow in bfd_elf32_swap_phdr_in in elfcode.h (bsc#1118831) CVE-2018-19932: Fixed an integer overflow and infinite loop caused by the IS_CONTAINED_BY_LMA (bsc#1118830) CVE-2018-20623: Fixed a use-after-free in the error function in elfcomm.c (bsc#1121035) CVE-2018-20651: Fixed a denial of service via a NULL pointer dereference in elf_link_add_object_symbols in elflink.c (bsc#1121034) CVE-2018-20671: Fixed an integer overflow that can trigger a heap-based buffer overflow in load_specific_debug_section in objdump.c (bsc#1121056) CVE-2018-1000876: Fixed integer overflow in bfd_get_dynamic_reloc_upper_bound,bfd_canonicalize_dynamic_reloc in objdump (bsc#1120640) CVE-2019-1010180: Fixed an out of bound memory access that could lead to crashes (bsc#1142772) Enable xtensa architecture (Tensilica lc6 and related) Use -ffat-lto-objects in order to provide assembly for static libs (bsc#1141913). Fixed some LTO problems (bsc#1133131 bsc#1133232). riscv: Don
    last seen2020-06-01
    modified2020-06-02
    plugin id129879
    published2019-10-15
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/129879
    titleSUSE SLED12 / SLES12 Security Update : binutils (SUSE-SU-2019:2650-1)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from SUSE update advisory SUSE-SU-2019:2650-1.
    # The text itself is copyright (C) SUSE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(129879);
      script_version("1.2");
      script_cvs_date("Date: 2019/12/19");
    
      script_cve_id("CVE-2018-1000876", "CVE-2018-17358", "CVE-2018-17359", "CVE-2018-17360", "CVE-2018-17985", "CVE-2018-18309", "CVE-2018-18483", "CVE-2018-18484", "CVE-2018-18605", "CVE-2018-18606", "CVE-2018-18607", "CVE-2018-19931", "CVE-2018-19932", "CVE-2018-20623", "CVE-2018-20651", "CVE-2018-20671", "CVE-2019-1010180");
    
      script_name(english:"SUSE SLED12 / SLES12 Security Update : binutils (SUSE-SU-2019:2650-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 fixes the following issues :
    
    binutils was updated to current 2.32 branch @7b468db3 [jsc#ECO-368] :
    
    Includes the following security fixes :
    
    CVE-2018-17358: Fixed invalid memory access in
    _bfd_stab_section_find_nearest_line in syms.c (bsc#1109412)
    
    CVE-2018-17359: Fixed invalid memory access exists in bfd_zalloc in
    opncls.c (bsc#1109413)
    
    CVE-2018-17360: Fixed heap-based buffer over-read in bfd_getl32 in
    libbfd.c (bsc#1109414)
    
    CVE-2018-17985: Fixed a stack consumption problem caused by the
    cplus_demangle_type (bsc#1116827)
    
    CVE-2018-18309: Fixed an invalid memory address dereference was
    discovered in read_reloc in reloc.c (bsc#1111996)
    
    CVE-2018-18483: Fixed get_count function provided by libiberty that
    allowed attackers to cause a denial of service or other unspecified
    impact (bsc#1112535)
    
    CVE-2018-18484: Fixed stack exhaustion in the C++ demangling functions
    provided by libiberty, caused by recursive stack frames (bsc#1112534)
    
    CVE-2018-18605: Fixed a heap-based buffer over-read issue was
    discovered in the function sec_merge_hash_lookup causing a denial of
    service (bsc#1113255)
    
    CVE-2018-18606: Fixed a NULL pointer dereference in
    _bfd_add_merge_section when attempting to merge sections with large
    alignments, causing denial of service (bsc#1113252)
    
    CVE-2018-18607: Fixed a NULL pointer dereference in elf_link_input_bfd
    when used for finding STT_TLS symbols without any TLS section, causing
    denial of service (bsc#1113247)
    
    CVE-2018-19931: Fixed a heap-based buffer overflow in
    bfd_elf32_swap_phdr_in in elfcode.h (bsc#1118831)
    
    CVE-2018-19932: Fixed an integer overflow and infinite loop caused by
    the IS_CONTAINED_BY_LMA (bsc#1118830)
    
    CVE-2018-20623: Fixed a use-after-free in the error function in
    elfcomm.c (bsc#1121035)
    
    CVE-2018-20651: Fixed a denial of service via a NULL pointer
    dereference in elf_link_add_object_symbols in elflink.c (bsc#1121034)
    
    CVE-2018-20671: Fixed an integer overflow that can trigger a
    heap-based buffer overflow in load_specific_debug_section in objdump.c
    (bsc#1121056)
    
    CVE-2018-1000876: Fixed integer overflow in
    bfd_get_dynamic_reloc_upper_bound,bfd_canonicalize_dynamic_reloc in
    objdump (bsc#1120640)
    
    CVE-2019-1010180: Fixed an out of bound memory access that could lead
    to crashes (bsc#1142772)
    
    Enable xtensa architecture (Tensilica lc6 and related)
    
    Use -ffat-lto-objects in order to provide assembly for static libs
    (bsc#1141913).
    
    Fixed some LTO problems (bsc#1133131 bsc#1133232).
    
    riscv: Don't check ABI flags if no code section
    
    Update to binutils 2.32: The binutils now support for the C-SKY
    processor series.
    
    The x86 assembler now supports a -mvexwig=[0|1] option to control
    encoding of VEX.W-ignored (WIG) VEX instructions. It also has a new
    
    -mx86-used-note=[yes|no] option to generate (or not) x86 GNU property
    notes.
    
    The MIPS assembler now supports the Loongson EXTensions R2 (EXT2), the
    Loongson EXTensions (EXT) instructions, the Loongson Content Address
    Memory (CAM) ASE and the Loongson MultiMedia extensions Instructions
    (MMI) ASE.
    
    The addr2line, c++filt, nm and objdump tools now have a default limit
    on the maximum amount of recursion that is allowed whilst demangling
    strings. This limit can be disabled if necessary.
    
    Objdump's --disassemble option can now take a parameter, specifying
    the starting symbol for disassembly. Disassembly will continue from
    this symbol up to the next symbol or the end of the function.
    
    The BFD linker will now report property change in linker map file when
    merging GNU properties.
    
    The BFD linker's -t option now doesn't report members within archives,
    unless -t is given twice. This makes it more useful when generating a
    list of files that should be packaged for a linker bug report.
    
    The GOLD linker has improved warning messages for relocations that
    refer to discarded sections.
    
    Improve relro support on s390 [fate#326356]
    
    Handle ELF compressed header alignment correctly.
    
    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=1109412"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1109413"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1109414"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1111996"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1112534"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1112535"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1113247"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1113252"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1113255"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1116827"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1118830"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1118831"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1120640"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1121034"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1121035"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1121056"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1133131"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1133232"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1141913"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1142772"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-1000876/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-17358/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-17359/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-17360/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-17985/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-18309/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-18483/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-18484/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-18605/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-18606/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-18607/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-19931/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-19932/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-20623/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-20651/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-20671/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2019-1010180/"
      );
      # https://www.suse.com/support/update/announcement/2019/suse-su-20192650-1/
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?fc1443fc"
      );
      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 Crowbar 8:zypper in -t patch
    SUSE-OpenStack-Cloud-Crowbar-8-2019-2650=1
    
    SUSE OpenStack Cloud 8:zypper in -t patch
    SUSE-OpenStack-Cloud-8-2019-2650=1
    
    SUSE OpenStack Cloud 7:zypper in -t patch
    SUSE-OpenStack-Cloud-7-2019-2650=1
    
    SUSE Linux Enterprise Software Development Kit 12-SP5:zypper in -t
    patch SUSE-SLE-SDK-12-SP5-2019-2650=1
    
    SUSE Linux Enterprise Software Development Kit 12-SP4:zypper in -t
    patch SUSE-SLE-SDK-12-SP4-2019-2650=1
    
    SUSE Linux Enterprise Server for SAP 12-SP3:zypper in -t patch
    SUSE-SLE-SAP-12-SP3-2019-2650=1
    
    SUSE Linux Enterprise Server for SAP 12-SP2:zypper in -t patch
    SUSE-SLE-SAP-12-SP2-2019-2650=1
    
    SUSE Linux Enterprise Server for SAP 12-SP1:zypper in -t patch
    SUSE-SLE-SAP-12-SP1-2019-2650=1
    
    SUSE Linux Enterprise Server 12-SP5:zypper in -t patch
    SUSE-SLE-SERVER-12-SP5-2019-2650=1
    
    SUSE Linux Enterprise Server 12-SP4:zypper in -t patch
    SUSE-SLE-SERVER-12-SP4-2019-2650=1
    
    SUSE Linux Enterprise Server 12-SP3-LTSS:zypper in -t patch
    SUSE-SLE-SERVER-12-SP3-2019-2650=1
    
    SUSE Linux Enterprise Server 12-SP3-BCL:zypper in -t patch
    SUSE-SLE-SERVER-12-SP3-BCL-2019-2650=1
    
    SUSE Linux Enterprise Server 12-SP2-LTSS:zypper in -t patch
    SUSE-SLE-SERVER-12-SP2-2019-2650=1
    
    SUSE Linux Enterprise Server 12-SP2-BCL:zypper in -t patch
    SUSE-SLE-SERVER-12-SP2-BCL-2019-2650=1
    
    SUSE Linux Enterprise Server 12-SP1-LTSS:zypper in -t patch
    SUSE-SLE-SERVER-12-SP1-2019-2650=1
    
    SUSE Linux Enterprise Desktop 12-SP5:zypper in -t patch
    SUSE-SLE-DESKTOP-12-SP5-2019-2650=1
    
    SUSE Linux Enterprise Desktop 12-SP4:zypper in -t patch
    SUSE-SLE-DESKTOP-12-SP4-2019-2650=1
    
    SUSE Enterprise Storage 5:zypper in -t patch
    SUSE-Storage-5-2019-2650=1
    
    SUSE Enterprise Storage 4:zypper in -t patch
    SUSE-Storage-4-2019-2650=1
    
    HPE Helion Openstack 8:zypper in -t patch
    HPE-Helion-OpenStack-8-2019-2650=1"
      );
      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:U/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:U/RL:O/RC:C");
      script_set_attribute(attribute:"cvss_score_source", value:"CVE-2019-1010180");
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
    
      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:"p-cpe:/a:novell:suse_linux:binutils-devel");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:12");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2018/09/23");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/10/14");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/10/15");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 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:"^(1|2|3|4|5)$", string:sp))) audit(AUDIT_OS_NOT, "SLES12 SP1/2/3/4/5", os_ver + " SP" + sp);
    if (os_ver == "SLED12" && (! preg(pattern:"^(4|5)$", string:sp))) audit(AUDIT_OS_NOT, "SLED12 SP4/5", os_ver + " SP" + sp);
    
    
    flag = 0;
    if (rpm_check(release:"SLES12", sp:"1", reference:"binutils-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"1", reference:"binutils-debuginfo-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"1", reference:"binutils-debugsource-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"1", reference:"binutils-devel-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"binutils-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"binutils-debuginfo-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"binutils-debugsource-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"3", cpu:"x86_64", reference:"binutils-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"3", cpu:"x86_64", reference:"binutils-debuginfo-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"3", cpu:"x86_64", reference:"binutils-debugsource-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"3", reference:"binutils-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"3", reference:"binutils-debuginfo-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"3", reference:"binutils-debugsource-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"binutils-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"binutils-debuginfo-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"binutils-debugsource-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"2", reference:"binutils-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"2", reference:"binutils-debuginfo-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"2", reference:"binutils-debugsource-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"2", reference:"binutils-devel-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"binutils-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"binutils-debuginfo-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"binutils-debugsource-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"binutils-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"binutils-debuginfo-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"binutils-debugsource-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"5", cpu:"x86_64", reference:"binutils-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"5", cpu:"x86_64", reference:"binutils-debuginfo-2.32-9.33.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"5", cpu:"x86_64", reference:"binutils-debugsource-2.32-9.33.1")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get());
      else security_warning(0);
      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-2020-1205.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 : - 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
    last seen2020-03-19
    modified2020-03-13
    plugin id134494
    published2020-03-13
    reporterThis script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/134494
    titleEulerOS Virtualization for ARM 64 3.0.2.0 : binutils (EulerOS-SA-2020-1205)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(134494);
      script_version("1.2");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/03/19");
    
      script_cve_id(
        "CVE-2017-12967",
        "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-15025",
        "CVE-2017-15225",
        "CVE-2017-15938",
        "CVE-2017-15939",
        "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-8394",
        "CVE-2017-9038",
        "CVE-2017-9039",
        "CVE-2017-9041",
        "CVE-2017-9745",
        "CVE-2017-9954",
        "CVE-2017-9955",
        "CVE-2018-17358",
        "CVE-2018-17359",
        "CVE-2018-17360",
        "CVE-2018-18605",
        "CVE-2018-18606",
        "CVE-2018-18607",
        "CVE-2019-17451"
      );
    
      script_name(english:"EulerOS Virtualization for ARM 64 3.0.2.0 : binutils (EulerOS-SA-2020-1205)");
      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 :
    
      - 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)
    
      - 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 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)
    
      - 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)
    
      - 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)
    
    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-1205
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?6b4b0803");
      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:"cvss_score_source", value:"CVE-2017-9745");
      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/03/13");
      script_set_attribute(attribute:"plugin_publication_date", value:"2020/03/13");
    
      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) 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.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.h32"];
    
    foreach (pkg in pkgs)
      if (rpm_check(release:"EulerOS-2.0", 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 familySuSE Local Security Checks
    NASL idOPENSUSE-2019-2415.NASL
    descriptionThis update for binutils fixes the following issues : binutils was updated to current 2.32 branch [jsc#ECO-368]. Includes following security fixes : - CVE-2018-17358: Fixed invalid memory access in _bfd_stab_section_find_nearest_line in syms.c (bsc#1109412) - CVE-2018-17359: Fixed invalid memory access exists in bfd_zalloc in opncls.c (bsc#1109413) - CVE-2018-17360: Fixed heap-based buffer over-read in bfd_getl32 in libbfd.c (bsc#1109414) - CVE-2018-17985: Fixed a stack consumption problem caused by the cplus_demangle_type (bsc#1116827) - CVE-2018-18309: Fixed an invalid memory address dereference was discovered in read_reloc in reloc.c (bsc#1111996) - CVE-2018-18483: Fixed get_count function provided by libiberty that allowed attackers to cause a denial of service or other unspecified impact (bsc#1112535) - CVE-2018-18484: Fixed stack exhaustion in the C++ demangling functions provided by libiberty, caused by recursive stack frames (bsc#1112534) - CVE-2018-18605: Fixed a heap-based buffer over-read issue was discovered in the function sec_merge_hash_lookup causing a denial of service (bsc#1113255) - CVE-2018-18606: Fixed a NULL pointer dereference in _bfd_add_merge_section when attempting to merge sections with large alignments, causing denial of service (bsc#1113252) - CVE-2018-18607: Fixed a NULL pointer dereference in elf_link_input_bfd when used for finding STT_TLS symbols without any TLS section, causing denial of service (bsc#1113247) - CVE-2018-19931: Fixed a heap-based buffer overflow in bfd_elf32_swap_phdr_in in elfcode.h (bsc#1118831) - CVE-2018-19932: Fixed an integer overflow and infinite loop caused by the IS_CONTAINED_BY_LMA (bsc#1118830) - CVE-2018-20623: Fixed a use-after-free in the error function in elfcomm.c (bsc#1121035) - CVE-2018-20651: Fixed a denial of service via a NULL pointer dereference in elf_link_add_object_symbols in elflink.c (bsc#1121034) - CVE-2018-20671: Fixed an integer overflow that can trigger a heap-based buffer overflow in load_specific_debug_section in objdump.c (bsc#1121056) - CVE-2018-1000876: Fixed integer overflow in bfd_get_dynamic_reloc_upper_bound,bfd_canonicalize_dynam ic_reloc in objdump (bsc#1120640) - CVE-2019-1010180: Fixed an out of bound memory access that could lead to crashes (bsc#1142772) - enable xtensa architecture (Tensilica lc6 and related) - Use -ffat-lto-objects in order to provide assembly for static libs (bsc#1141913). - Fixed some LTO build issues (bsc#1133131 bsc#1133232). - riscv: Don
    last seen2020-06-01
    modified2020-06-02
    plugin id130420
    published2019-10-31
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/130420
    titleopenSUSE Security Update : binutils (openSUSE-2019-2415)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from openSUSE Security Update openSUSE-2019-2415.
    #
    # The text description of this plugin is (C) SUSE LLC.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(130420);
      script_version("1.2");
      script_cvs_date("Date: 2019/12/17");
    
      script_cve_id("CVE-2018-1000876", "CVE-2018-17358", "CVE-2018-17359", "CVE-2018-17360", "CVE-2018-17985", "CVE-2018-18309", "CVE-2018-18483", "CVE-2018-18484", "CVE-2018-18605", "CVE-2018-18606", "CVE-2018-18607", "CVE-2018-19931", "CVE-2018-19932", "CVE-2018-20623", "CVE-2018-20651", "CVE-2018-20671", "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", "CVE-2019-1010180");
    
      script_name(english:"openSUSE Security Update : binutils (openSUSE-2019-2415)");
      script_summary(english:"Check for the openSUSE-2019-2415 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 fixes the following issues :
    
    binutils was updated to current 2.32 branch [jsc#ECO-368].
    
    Includes following security fixes :
    
      - CVE-2018-17358: Fixed invalid memory access in
        _bfd_stab_section_find_nearest_line in syms.c
        (bsc#1109412)
    
      - CVE-2018-17359: Fixed invalid memory access exists in
        bfd_zalloc in opncls.c (bsc#1109413)
    
      - CVE-2018-17360: Fixed heap-based buffer over-read in
        bfd_getl32 in libbfd.c (bsc#1109414)
    
      - CVE-2018-17985: Fixed a stack consumption problem caused
        by the cplus_demangle_type (bsc#1116827)
    
      - CVE-2018-18309: Fixed an invalid memory address
        dereference was discovered in read_reloc in reloc.c
        (bsc#1111996)
    
      - CVE-2018-18483: Fixed get_count function provided by
        libiberty that allowed attackers to cause a denial of
        service or other unspecified impact (bsc#1112535)
    
      - CVE-2018-18484: Fixed stack exhaustion in the C++
        demangling functions provided by libiberty, caused by
        recursive stack frames (bsc#1112534)
    
      - CVE-2018-18605: Fixed a heap-based buffer over-read
        issue was discovered in the function
        sec_merge_hash_lookup causing a denial of service
        (bsc#1113255)
    
      - CVE-2018-18606: Fixed a NULL pointer dereference in
        _bfd_add_merge_section when attempting to merge sections
        with large alignments, causing denial of service
        (bsc#1113252)
    
      - CVE-2018-18607: Fixed a NULL pointer dereference in
        elf_link_input_bfd when used for finding STT_TLS symbols
        without any TLS section, causing denial of service
        (bsc#1113247)
    
      - CVE-2018-19931: Fixed a heap-based buffer overflow in
        bfd_elf32_swap_phdr_in in elfcode.h (bsc#1118831)
    
      - CVE-2018-19932: Fixed an integer overflow and infinite
        loop caused by the IS_CONTAINED_BY_LMA (bsc#1118830)
    
      - CVE-2018-20623: Fixed a use-after-free in the error
        function in elfcomm.c (bsc#1121035)
    
      - CVE-2018-20651: Fixed a denial of service via a NULL
        pointer dereference in elf_link_add_object_symbols in
        elflink.c (bsc#1121034)
    
      - CVE-2018-20671: Fixed an integer overflow that can
        trigger a heap-based buffer overflow in
        load_specific_debug_section in objdump.c (bsc#1121056)
    
      - CVE-2018-1000876: Fixed integer overflow in
        bfd_get_dynamic_reloc_upper_bound,bfd_canonicalize_dynam
        ic_reloc in objdump (bsc#1120640)
    
      - CVE-2019-1010180: Fixed an out of bound memory access
        that could lead to crashes (bsc#1142772)
    
      - enable xtensa architecture (Tensilica lc6 and related)
    
      - Use -ffat-lto-objects in order to provide assembly for
        static libs (bsc#1141913).
    
      - Fixed some LTO build issues (bsc#1133131 bsc#1133232).
    
      - riscv: Don't check ABI flags if no code section
    
      - Fixed a segfault in ld when building some versions of
        pacemaker (bsc#1154025, bsc#1154016).
    
      - Add avr, epiphany and rx to target_list so that the
        common binutils can handle all objects we can create
        with crosses (bsc#1152590).
    
    Update to binutils 2.32 :
    
      - The binutils now support for the C-SKY processor series.
    
      - The x86 assembler now supports a -mvexwig=[0|1] option
        to control encoding of VEX.W-ignored (WIG) VEX
        instructions. It also has a new -mx86-used-note=[yes|no]
        option to generate (or not) x86 GNU property notes. 
    
      - The MIPS assembler now supports the Loongson EXTensions
        R2 (EXT2), the Loongson EXTensions (EXT) instructions,
        the Loongson Content Address Memory (CAM) ASE and the
        Loongson MultiMedia extensions Instructions (MMI) ASE.
    
      - The addr2line, c++filt, nm and objdump tools now have a
        default limit on the maximum amount of recursion that is
        allowed whilst demangling strings. This limit can be
        disabled if necessary.
    
      - Objdump's --disassemble option can now take a parameter,
        specifying the starting symbol for disassembly.
        Disassembly will continue from this symbol up to the
        next symbol or the end of the function.
    
      - The BFD linker will now report property change in linker
        map file when merging GNU properties.
    
      - The BFD linker's -t option now doesn't report members
        within archives, unless -t is given twice. This makes it
        more useful when generating a list of files that should
        be packaged for a linker bug report.
    
      - The GOLD linker has improved warning messages for
        relocations that refer to discarded sections.
    
      - Improve relro support on s390 [fate#326356]
    
      - Fix broken debug symbols (bsc#1118644)
    
      - Handle ELF compressed header alignment correctly.
    
    This update was imported from the SUSE:SLE-15:Update update project."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1109412"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1109413"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1109414"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1111996"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1112534"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1112535"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1113247"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1113252"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1113255"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1116827"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1118644"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1118830"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1118831"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1120640"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1121034"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1121035"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1121056"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1133131"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1133232"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1141913"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1142772"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1152590"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1154016"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1154025"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://features.opensuse.org/326356"
      );
      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:"cvss_score_source", value:"CVE-2019-1010180");
      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:"cpe:/o:novell:opensuse:15.0");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2018/01/26");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/10/30");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/10/31");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 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/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 !~ "^(SUSE15\.0)$") audit(AUDIT_OS_RELEASE_NOT, "openSUSE", "15.0", 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:"SUSE15.0", reference:"binutils-2.32-lp150.10.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"binutils-debuginfo-2.32-lp150.10.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"binutils-debugsource-2.32-lp150.10.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"binutils-devel-2.32-lp150.10.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"binutils-gold-2.32-lp150.10.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"binutils-gold-debuginfo-2.32-lp150.10.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", cpu:"x86_64", reference:"binutils-devel-32bit-2.32-lp150.10.1") ) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get());
      else security_warning(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-2019-2780-1.NASL
    descriptionThis update for binutils fixes the following issues : binutils was updated to current 2.32 branch [jsc#ECO-368]. Includes following security fixes : CVE-2018-17358: Fixed invalid memory access in _bfd_stab_section_find_nearest_line in syms.c (bsc#1109412) CVE-2018-17359: Fixed invalid memory access exists in bfd_zalloc in opncls.c (bsc#1109413) CVE-2018-17360: Fixed heap-based buffer over-read in bfd_getl32 in libbfd.c (bsc#1109414) CVE-2018-17985: Fixed a stack consumption problem caused by the cplus_demangle_type (bsc#1116827) CVE-2018-18309: Fixed an invalid memory address dereference was discovered in read_reloc in reloc.c (bsc#1111996) CVE-2018-18483: Fixed get_count function provided by libiberty that allowed attackers to cause a denial of service or other unspecified impact (bsc#1112535) CVE-2018-18484: Fixed stack exhaustion in the C++ demangling functions provided by libiberty, caused by recursive stack frames (bsc#1112534) CVE-2018-18605: Fixed a heap-based buffer over-read issue was discovered in the function sec_merge_hash_lookup causing a denial of service (bsc#1113255) CVE-2018-18606: Fixed a NULL pointer dereference in _bfd_add_merge_section when attempting to merge sections with large alignments, causing denial of service (bsc#1113252) CVE-2018-18607: Fixed a NULL pointer dereference in elf_link_input_bfd when used for finding STT_TLS symbols without any TLS section, causing denial of service (bsc#1113247) CVE-2018-19931: Fixed a heap-based buffer overflow in bfd_elf32_swap_phdr_in in elfcode.h (bsc#1118831) CVE-2018-19932: Fixed an integer overflow and infinite loop caused by the IS_CONTAINED_BY_LMA (bsc#1118830) CVE-2018-20623: Fixed a use-after-free in the error function in elfcomm.c (bsc#1121035) CVE-2018-20651: Fixed a denial of service via a NULL pointer dereference in elf_link_add_object_symbols in elflink.c (bsc#1121034) CVE-2018-20671: Fixed an integer overflow that can trigger a heap-based buffer overflow in load_specific_debug_section in objdump.c (bsc#1121056) CVE-2018-1000876: Fixed integer overflow in bfd_get_dynamic_reloc_upper_bound,bfd_canonicalize_dynamic_reloc in objdump (bsc#1120640) CVE-2019-1010180: Fixed an out of bound memory access that could lead to crashes (bsc#1142772) enable xtensa architecture (Tensilica lc6 and related) Use -ffat-lto-objects in order to provide assembly for static libs (bsc#1141913). Fixed some LTO build issues (bsc#1133131 bsc#1133232). riscv: Don
    last seen2020-06-01
    modified2020-06-02
    plugin id130340
    published2019-10-28
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/130340
    titleSUSE SLED15 / SLES15 Security Update : binutils (SUSE-SU-2019:2780-1)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from SUSE update advisory SUSE-SU-2019:2780-1.
    # The text itself is copyright (C) SUSE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(130340);
      script_version("1.2");
      script_cvs_date("Date: 2019/12/18");
    
      script_cve_id("CVE-2018-1000876", "CVE-2018-17358", "CVE-2018-17359", "CVE-2018-17360", "CVE-2018-17985", "CVE-2018-18309", "CVE-2018-18483", "CVE-2018-18484", "CVE-2018-18605", "CVE-2018-18606", "CVE-2018-18607", "CVE-2018-19931", "CVE-2018-19932", "CVE-2018-20623", "CVE-2018-20651", "CVE-2018-20671", "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", "CVE-2019-1010180");
    
      script_name(english:"SUSE SLED15 / SLES15 Security Update : binutils (SUSE-SU-2019:2780-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 fixes the following issues :
    
    binutils was updated to current 2.32 branch [jsc#ECO-368].
    
    Includes following security fixes :
    
    CVE-2018-17358: Fixed invalid memory access in
    _bfd_stab_section_find_nearest_line in syms.c (bsc#1109412)
    
    CVE-2018-17359: Fixed invalid memory access exists in bfd_zalloc in
    opncls.c (bsc#1109413)
    
    CVE-2018-17360: Fixed heap-based buffer over-read in bfd_getl32 in
    libbfd.c (bsc#1109414)
    
    CVE-2018-17985: Fixed a stack consumption problem caused by the
    cplus_demangle_type (bsc#1116827)
    
    CVE-2018-18309: Fixed an invalid memory address dereference was
    discovered in read_reloc in reloc.c (bsc#1111996)
    
    CVE-2018-18483: Fixed get_count function provided by libiberty that
    allowed attackers to cause a denial of service or other unspecified
    impact (bsc#1112535)
    
    CVE-2018-18484: Fixed stack exhaustion in the C++ demangling functions
    provided by libiberty, caused by recursive stack frames (bsc#1112534)
    
    CVE-2018-18605: Fixed a heap-based buffer over-read issue was
    discovered in the function sec_merge_hash_lookup causing a denial of
    service (bsc#1113255)
    
    CVE-2018-18606: Fixed a NULL pointer dereference in
    _bfd_add_merge_section when attempting to merge sections with large
    alignments, causing denial of service (bsc#1113252)
    
    CVE-2018-18607: Fixed a NULL pointer dereference in elf_link_input_bfd
    when used for finding STT_TLS symbols without any TLS section, causing
    denial of service (bsc#1113247)
    
    CVE-2018-19931: Fixed a heap-based buffer overflow in
    bfd_elf32_swap_phdr_in in elfcode.h (bsc#1118831)
    
    CVE-2018-19932: Fixed an integer overflow and infinite loop caused by
    the IS_CONTAINED_BY_LMA (bsc#1118830)
    
    CVE-2018-20623: Fixed a use-after-free in the error function in
    elfcomm.c (bsc#1121035)
    
    CVE-2018-20651: Fixed a denial of service via a NULL pointer
    dereference in elf_link_add_object_symbols in elflink.c (bsc#1121034)
    
    CVE-2018-20671: Fixed an integer overflow that can trigger a
    heap-based buffer overflow in load_specific_debug_section in objdump.c
    (bsc#1121056)
    
    CVE-2018-1000876: Fixed integer overflow in
    bfd_get_dynamic_reloc_upper_bound,bfd_canonicalize_dynamic_reloc in
    objdump (bsc#1120640)
    
    CVE-2019-1010180: Fixed an out of bound memory access that could lead
    to crashes (bsc#1142772)
    
    enable xtensa architecture (Tensilica lc6 and related)
    
    Use -ffat-lto-objects in order to provide assembly for static libs
    (bsc#1141913).
    
    Fixed some LTO build issues (bsc#1133131 bsc#1133232).
    
    riscv: Don't check ABI flags if no code section
    
    Fixed a segfault in ld when building some versions of pacemaker
    (bsc#1154025, bsc#1154016).
    
    Add avr, epiphany and rx to target_list so that the common binutils
    can handle all objects we can create with crosses (bsc#1152590).
    
    Update to binutils 2.32: The binutils now support for the C-SKY
    processor series.
    
    The x86 assembler now supports a -mvexwig=[0|1] option to control
    encoding of VEX.W-ignored (WIG) VEX instructions. It also has a new
    
    -mx86-used-note=[yes|no] option to generate (or not) x86 GNU property
    notes.
    
    The MIPS assembler now supports the Loongson EXTensions R2 (EXT2), the
    Loongson EXTensions (EXT) instructions, the Loongson Content Address
    Memory (CAM) ASE and the Loongson MultiMedia extensions Instructions
    (MMI) ASE.
    
    The addr2line, c++filt, nm and objdump tools now have a default limit
    on the maximum amount of recursion that is allowed whilst demangling
    strings. This limit can be disabled if necessary.
    
    Objdump's --disassemble option can now take a parameter, specifying
    the starting symbol for disassembly. Disassembly will continue from
    this symbol up to the next symbol or the end of the function.
    
    The BFD linker will now report property change in linker map file when
    merging GNU properties.
    
    The BFD linker's -t option now doesn't report members within archives,
    unless -t is given twice. This makes it more useful when generating a
    list of files that should be packaged for a linker bug report.
    
    The GOLD linker has improved warning messages for relocations that
    refer to discarded sections.
    
    Improve relro support on s390 [fate#326356]
    
    Fix broken debug symbols (bsc#1118644)
    
    Handle ELF compressed header alignment correctly.
    
    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=1109412"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1109413"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1109414"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1111996"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1112534"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1112535"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1113247"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1113252"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1113255"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1116827"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1118644"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1118830"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1118831"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1120640"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1121034"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1121035"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1121056"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1133131"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1133232"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1141913"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1142772"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1152590"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1154016"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1154025"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-1000876/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-17358/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-17359/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-17360/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-17985/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-18309/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-18483/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-18484/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-18605/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-18606/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-18607/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-19931/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-19932/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-20623/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-20651/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-20671/"
      );
      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/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2019-1010180/"
      );
      # https://www.suse.com/support/update/announcement/2019/suse-su-20192780-1/
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?390f7f64"
      );
      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 Module for Packagehub Subpackages 15:zypper in
    -t patch SUSE-SLE-Module-Packagehub-Subpackages-15-2019-2780=1
    
    SUSE Linux Enterprise Module for Open Buildservice Development Tools
    15:zypper in -t patch
    SUSE-SLE-Module-Development-Tools-OBS-15-2019-2780=1
    
    SUSE Linux Enterprise Module for Development Tools 15:zypper in -t
    patch SUSE-SLE-Module-Development-Tools-15-2019-2780=1
    
    SUSE Linux Enterprise Module for Basesystem 15:zypper in -t patch
    SUSE-SLE-Module-Basesystem-15-2019-2780=1"
      );
      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:"cvss_score_source", value:"CVE-2019-1010180");
      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:"p-cpe:/a:novell:suse_linux:binutils-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:binutils-gold");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:binutils-gold-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-arm-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-arm-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-arm-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-avr-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-avr-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-avr-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-epiphany-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-epiphany-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-epiphany-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-hppa-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-hppa-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-hppa-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-hppa64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-hppa64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-hppa64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-i386-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-i386-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-i386-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ia64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ia64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ia64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-m68k-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-m68k-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-m68k-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-mips-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-mips-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-mips-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ppc-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ppc-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ppc-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ppc64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ppc64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ppc64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-riscv64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-riscv64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-riscv64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-rx-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-rx-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-rx-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-s390-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-s390-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-s390-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-sparc-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-sparc-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-sparc-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-sparc64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-sparc64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-sparc64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-spu-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-spu-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-spu-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:15");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2018/01/26");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/10/25");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/10/28");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 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:"^(SLED15|SLES15)$", string:os_ver)) audit(AUDIT_OS_NOT, "SUSE SLED15 / SLES15", "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 == "SLES15" && (! preg(pattern:"^(0)$", string:sp))) audit(AUDIT_OS_NOT, "SLES15 SP0", os_ver + " SP" + sp);
    if (os_ver == "SLED15" && (! preg(pattern:"^(0)$", string:sp))) audit(AUDIT_OS_NOT, "SLED15 SP0", os_ver + " SP" + sp);
    
    
    flag = 0;
    if (rpm_check(release:"SLES15", sp:"0", cpu:"x86_64", reference:"binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", cpu:"x86_64", reference:"binutils-devel-32bit-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"binutils-gold-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"binutils-gold-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"binutils-gold-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"binutils-gold-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-arm-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-arm-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-arm-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-avr-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-avr-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-avr-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-epiphany-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-epiphany-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-epiphany-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-hppa-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-hppa-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-hppa-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-hppa64-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-hppa64-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-hppa64-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-i386-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-i386-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-i386-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-ia64-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-ia64-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-ia64-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-m68k-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-m68k-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-m68k-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-mips-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-mips-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-mips-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-ppc-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-ppc-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-ppc-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-ppc64-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-ppc64-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-ppc64-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-riscv64-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-riscv64-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-riscv64-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-rx-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-rx-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-rx-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-s390-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-s390-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-s390-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-sparc-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-sparc-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-sparc-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-sparc64-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-sparc64-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-sparc64-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-spu-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-spu-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"cross-spu-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"binutils-devel-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", cpu:"x86_64", reference:"binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", cpu:"x86_64", reference:"binutils-devel-32bit-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"binutils-gold-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"binutils-gold-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"binutils-gold-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"binutils-gold-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-arm-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-arm-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-arm-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-avr-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-avr-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-avr-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-epiphany-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-epiphany-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-epiphany-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-hppa-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-hppa-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-hppa-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-hppa64-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-hppa64-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-hppa64-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-i386-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-i386-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-i386-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-ia64-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-ia64-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-ia64-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-m68k-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-m68k-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-m68k-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-mips-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-mips-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-mips-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-ppc-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-ppc-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-ppc-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-ppc64-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-ppc64-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-ppc64-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-riscv64-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-riscv64-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-riscv64-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-rx-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-rx-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-rx-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-s390-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-s390-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-s390-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-sparc-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-sparc-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-sparc-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-sparc64-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-sparc64-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-sparc64-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-spu-binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-spu-binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"cross-spu-binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"binutils-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"binutils-debuginfo-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"binutils-debugsource-2.32-6.8.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"binutils-devel-2.32-6.8.1")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get());
      else security_warning(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "binutils");
    }
    
  • NASL familyUbuntu Local Security Checks
    NASL idUBUNTU_USN-4336-1.NASL
    descriptionIt was discovered that GNU binutils contained a large number of security issues. If a user or automated system were tricked into processing a specially crafted file, a remote attacker could cause GNU binutils to crash, resulting in a denial of service, or possibly execute arbitrary code. Note that Tenable Network Security has extracted the preceding description block directly from the Ubuntu security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-04-30
    modified2020-04-24
    plugin id135966
    published2020-04-24
    reporterUbuntu Security Notice (C) 2020 Canonical, Inc. / NASL script (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/135966
    titleUbuntu 18.04 LTS : binutils vulnerabilities (USN-4336-1)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from Ubuntu Security Notice USN-4336-1. The text 
    # itself is copyright (C) Canonical, Inc. See 
    # <http://www.ubuntu.com/usn/>. Ubuntu(R) is a registered 
    # trademark of Canonical, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(135966);
      script_version("1.2");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/04/28");
    
      script_cve_id("CVE-2018-1000876", "CVE-2018-10372", "CVE-2018-10373", "CVE-2018-10534", "CVE-2018-10535", "CVE-2018-12641", "CVE-2018-12697", "CVE-2018-12698", "CVE-2018-12699", "CVE-2018-12700", "CVE-2018-12934", "CVE-2018-13033", "CVE-2018-17358", "CVE-2018-17359", "CVE-2018-17360", "CVE-2018-17794", "CVE-2018-17985", "CVE-2018-18309", "CVE-2018-18483", "CVE-2018-18484", "CVE-2018-18605", "CVE-2018-18606", "CVE-2018-18607", "CVE-2018-18700", "CVE-2018-18701", "CVE-2018-19931", "CVE-2018-19932", "CVE-2018-20002", "CVE-2018-20623", "CVE-2018-20651", "CVE-2018-20671", "CVE-2018-8945", "CVE-2018-9138", "CVE-2019-12972", "CVE-2019-14250", "CVE-2019-14444", "CVE-2019-17450", "CVE-2019-17451", "CVE-2019-9070", "CVE-2019-9071", "CVE-2019-9073", "CVE-2019-9074", "CVE-2019-9075", "CVE-2019-9077");
      script_xref(name:"USN", value:"4336-1");
    
      script_name(english:"Ubuntu 18.04 LTS : binutils vulnerabilities (USN-4336-1)");
      script_summary(english:"Checks dpkg output for updated packages.");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:
    "The remote Ubuntu host is missing one or more security-related
    patches."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "It was discovered that GNU binutils contained a large number of
    security issues. If a user or automated system were tricked into
    processing a specially crafted file, a remote attacker could cause GNU
    binutils to crash, resulting in a denial of service, or possibly
    execute arbitrary code.
    
    Note that Tenable Network Security has extracted the preceding
    description block directly from the Ubuntu 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://usn.ubuntu.com/4336-1/"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected binutils and / or binutils-multiarch 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:U/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:U/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:binutils-multiarch");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:18.04:-:lts");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2018/03/22");
      script_set_attribute(attribute:"patch_publication_date", value:"2020/04/22");
      script_set_attribute(attribute:"plugin_publication_date", value:"2020/04/24");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"Ubuntu Security Notice (C) 2020 Canonical, Inc. / NASL script (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Ubuntu Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/cpu", "Host/Ubuntu", "Host/Ubuntu/release", "Host/Debian/dpkg-l");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("ubuntu.inc");
    include("misc_func.inc");
    
    if ( ! get_kb_item("Host/local_checks_enabled") ) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/Ubuntu/release");
    if ( isnull(release) ) audit(AUDIT_OS_NOT, "Ubuntu");
    release = chomp(release);
    if (! preg(pattern:"^(18\.04)$", string:release)) audit(AUDIT_OS_NOT, "Ubuntu 18.04", "Ubuntu " + release);
    if ( ! get_kb_item("Host/Debian/dpkg-l") ) 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$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Ubuntu", cpu);
    
    flag = 0;
    
    if (ubuntu_check(osver:"18.04", pkgname:"binutils", pkgver:"2.30-21ubuntu1~18.04.3")) flag++;
    if (ubuntu_check(osver:"18.04", pkgname:"binutils-multiarch", pkgver:"2.30-21ubuntu1~18.04.3")) flag++;
    
    if (flag)
    {
      security_report_v4(
        port       : 0,
        severity   : SECURITY_HOLE,
        extra      : ubuntu_report_get()
      );
      exit(0);
    }
    else
    {
      tested = ubuntu_pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "binutils / binutils-multiarch");
    }
    
  • NASL familyPhotonOS Local Security Checks
    NASL idPHOTONOS_PHSA-2019-1_0-0239_BINUTILS.NASL
    descriptionAn update of the binutils package has been released.
    last seen2020-06-01
    modified2020-06-02
    plugin id126185
    published2019-06-24
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/126185
    titlePhoton OS 1.0: Binutils PHSA-2019-1.0-0239
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    # The descriptive text and package checks in this plugin were
    # extracted from VMware Security Advisory PHSA-2019-1.0-0239. The text
    # itself is copyright (C) VMware, Inc.
    
    include("compat.inc");
    
    if (description)
    {
      script_id(126185);
      script_version("1.2");
      script_cvs_date("Date: 2020/01/09");
    
      script_cve_id("CVE-2018-17358", "CVE-2018-17360", "CVE-2019-9074");
      script_bugtraq_id(107260);
    
      script_name(english:"Photon OS 1.0: Binutils PHSA-2019-1.0-0239");
      script_summary(english:"Checks the rpm output for the updated packages.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote PhotonOS host is missing multiple security updates.");
      script_set_attribute(attribute:"description", value:
    "An update of the binutils package has been released.");
      script_set_attribute(attribute:"see_also", value:"https://github.com/vmware/photon/wiki/Security-Updates-1.0-239.md");
      script_set_attribute(attribute:"solution", value:
    "Update the affected Linux packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:C/I:C/A:C");
      script_set_cvss_temporal_vector("CVSS2#E:U/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:U/RL:O/RC:C");
      script_set_attribute(attribute:"cvss_score_source", value:"CVE-2019-0204");
    
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2018/03/06");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/06/17");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/06/24");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:vmware:photonos:binutils");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:vmware:photonos:1.0");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"PhotonOS 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/PhotonOS/release", "Host/PhotonOS/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/PhotonOS/release");
    if (isnull(release) || release !~ "^VMware Photon") audit(AUDIT_OS_NOT, "PhotonOS");
    if (release !~ "^VMware Photon (?:Linux|OS) 1\.0(\D|$)") audit(AUDIT_OS_NOT, "PhotonOS 1.0");
    
    if (!get_kb_item("Host/PhotonOS/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$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "PhotonOS", cpu);
    
    flag = 0;
    
    if (rpm_check(release:"PhotonOS-1.0", reference:"binutils-2.31-7.ph1")) flag++;
    if (rpm_check(release:"PhotonOS-1.0", reference:"binutils-debuginfo-2.31-7.ph1")) flag++;
    if (rpm_check(release:"PhotonOS-1.0", reference:"binutils-devel-2.31-7.ph1")) 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-1642.NASL
    descriptionAccording to the versions of the binutils packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - 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) - 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) - 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-20623) - A NULL pointer dereference was discovered in elf_link_add_object_symbols in elflink.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31.1. This occurs for a crafted ET_DYN with no program headers. A specially crafted ELF file allows remote attackers to cause a denial of service, as demonstrated by ld.(CVE-2018-20651) 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.
    last seen2020-05-03
    modified2019-06-27
    plugin id126269
    published2019-06-27
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/126269
    titleEulerOS 2.0 SP8 : binutils (EulerOS-SA-2019-1642)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(126269);
      script_version("1.3");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/01");
    
      script_cve_id(
        "CVE-2018-17358",
        "CVE-2018-17360",
        "CVE-2018-20623",
        "CVE-2018-20651"
      );
    
      script_name(english:"EulerOS 2.0 SP8 : binutils (EulerOS-SA-2019-1642)");
      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 :
    
      - 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)
    
      - 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)
    
      - 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-20623)
    
      - A NULL pointer dereference was discovered in
        elf_link_add_object_symbols in elflink.c in the Binary
        File Descriptor (BFD) library (aka libbfd), as
        distributed in GNU Binutils 2.31.1. This occurs for a
        crafted ET_DYN with no program headers. A specially
        crafted ELF file allows remote attackers to cause a
        denial of service, as demonstrated by
        ld.(CVE-2018-20651)
    
    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-1642
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?03f972ee");
      script_set_attribute(attribute:"solution", value:
    "Update the affected binutils packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:N/I:N/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2019/06/27");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/06/27");
    
      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 !~ "^(8)$") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP8");
    
    uvp = get_kb_item("Host/EulerOS/uvp_version");
    if (!empty_or_null(uvp)) audit(AUDIT_OS_NOT, "EulerOS 2.0 SP8", "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 ("aarch64" >!< cpu) audit(AUDIT_ARCH_NOT, "aarch64", cpu);
    
    flag = 0;
    
    pkgs = ["binutils-2.31.1-13.h3.eulerosv2r8",
            "binutils-devel-2.31.1-13.h3.eulerosv2r8"];
    
    foreach (pkg in pkgs)
      if (rpm_check(release:"EulerOS-2.0", sp:"8", 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 familySuSE Local Security Checks
    NASL idSUSE_SU-2019-2779-1.NASL
    descriptionThis update for binutils fixes the following issues : binutils was updated to current 2.32 branch [jsc#ECO-368]. Includes following security fixes : CVE-2018-17358: Fixed invalid memory access in _bfd_stab_section_find_nearest_line in syms.c (bsc#1109412) CVE-2018-17359: Fixed invalid memory access exists in bfd_zalloc in opncls.c (bsc#1109413) CVE-2018-17360: Fixed heap-based buffer over-read in bfd_getl32 in libbfd.c (bsc#1109414) CVE-2018-17985: Fixed a stack consumption problem caused by the cplus_demangle_type (bsc#1116827) CVE-2018-18309: Fixed an invalid memory address dereference was discovered in read_reloc in reloc.c (bsc#1111996) CVE-2018-18483: Fixed get_count function provided by libiberty that allowed attackers to cause a denial of service or other unspecified impact (bsc#1112535) CVE-2018-18484: Fixed stack exhaustion in the C++ demangling functions provided by libiberty, caused by recursive stack frames (bsc#1112534) CVE-2018-18605: Fixed a heap-based buffer over-read issue was discovered in the function sec_merge_hash_lookup causing a denial of service (bsc#1113255) CVE-2018-18606: Fixed a NULL pointer dereference in _bfd_add_merge_section when attempting to merge sections with large alignments, causing denial of service (bsc#1113252) CVE-2018-18607: Fixed a NULL pointer dereference in elf_link_input_bfd when used for finding STT_TLS symbols without any TLS section, causing denial of service (bsc#1113247) CVE-2018-19931: Fixed a heap-based buffer overflow in bfd_elf32_swap_phdr_in in elfcode.h (bsc#1118831) CVE-2018-19932: Fixed an integer overflow and infinite loop caused by the IS_CONTAINED_BY_LMA (bsc#1118830) CVE-2018-20623: Fixed a use-after-free in the error function in elfcomm.c (bsc#1121035) CVE-2018-20651: Fixed a denial of service via a NULL pointer dereference in elf_link_add_object_symbols in elflink.c (bsc#1121034) CVE-2018-20671: Fixed an integer overflow that can trigger a heap-based buffer overflow in load_specific_debug_section in objdump.c (bsc#1121056) CVE-2018-1000876: Fixed integer overflow in bfd_get_dynamic_reloc_upper_bound,bfd_canonicalize_dynamic_reloc in objdump (bsc#1120640) CVE-2019-1010180: Fixed an out of bound memory access that could lead to crashes (bsc#1142772) enable xtensa architecture (Tensilica lc6 and related) Use -ffat-lto-objects in order to provide assembly for static libs (bsc#1141913). Fixed some LTO build issues (bsc#1133131 bsc#1133232). riscv: Don
    last seen2020-06-01
    modified2020-06-02
    plugin id130257
    published2019-10-25
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/130257
    titleSUSE SLED15 / SLES15 Security Update : binutils (SUSE-SU-2019:2779-1)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from SUSE update advisory SUSE-SU-2019:2779-1.
    # The text itself is copyright (C) SUSE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(130257);
      script_version("1.2");
      script_cvs_date("Date: 2019/12/18");
    
      script_cve_id("CVE-2018-1000876", "CVE-2018-17358", "CVE-2018-17359", "CVE-2018-17360", "CVE-2018-17985", "CVE-2018-18309", "CVE-2018-18483", "CVE-2018-18484", "CVE-2018-18605", "CVE-2018-18606", "CVE-2018-18607", "CVE-2018-19931", "CVE-2018-19932", "CVE-2018-20623", "CVE-2018-20651", "CVE-2018-20671", "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", "CVE-2019-1010180");
    
      script_name(english:"SUSE SLED15 / SLES15 Security Update : binutils (SUSE-SU-2019:2779-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 fixes the following issues :
    
    binutils was updated to current 2.32 branch [jsc#ECO-368].
    
    Includes following security fixes :
    
    CVE-2018-17358: Fixed invalid memory access in
    _bfd_stab_section_find_nearest_line in syms.c (bsc#1109412)
    
    CVE-2018-17359: Fixed invalid memory access exists in bfd_zalloc in
    opncls.c (bsc#1109413)
    
    CVE-2018-17360: Fixed heap-based buffer over-read in bfd_getl32 in
    libbfd.c (bsc#1109414)
    
    CVE-2018-17985: Fixed a stack consumption problem caused by the
    cplus_demangle_type (bsc#1116827)
    
    CVE-2018-18309: Fixed an invalid memory address dereference was
    discovered in read_reloc in reloc.c (bsc#1111996)
    
    CVE-2018-18483: Fixed get_count function provided by libiberty that
    allowed attackers to cause a denial of service or other unspecified
    impact (bsc#1112535)
    
    CVE-2018-18484: Fixed stack exhaustion in the C++ demangling functions
    provided by libiberty, caused by recursive stack frames (bsc#1112534)
    
    CVE-2018-18605: Fixed a heap-based buffer over-read issue was
    discovered in the function sec_merge_hash_lookup causing a denial of
    service (bsc#1113255)
    
    CVE-2018-18606: Fixed a NULL pointer dereference in
    _bfd_add_merge_section when attempting to merge sections with large
    alignments, causing denial of service (bsc#1113252)
    
    CVE-2018-18607: Fixed a NULL pointer dereference in elf_link_input_bfd
    when used for finding STT_TLS symbols without any TLS section, causing
    denial of service (bsc#1113247)
    
    CVE-2018-19931: Fixed a heap-based buffer overflow in
    bfd_elf32_swap_phdr_in in elfcode.h (bsc#1118831)
    
    CVE-2018-19932: Fixed an integer overflow and infinite loop caused by
    the IS_CONTAINED_BY_LMA (bsc#1118830)
    
    CVE-2018-20623: Fixed a use-after-free in the error function in
    elfcomm.c (bsc#1121035)
    
    CVE-2018-20651: Fixed a denial of service via a NULL pointer
    dereference in elf_link_add_object_symbols in elflink.c (bsc#1121034)
    
    CVE-2018-20671: Fixed an integer overflow that can trigger a
    heap-based buffer overflow in load_specific_debug_section in objdump.c
    (bsc#1121056)
    
    CVE-2018-1000876: Fixed integer overflow in
    bfd_get_dynamic_reloc_upper_bound,bfd_canonicalize_dynamic_reloc in
    objdump (bsc#1120640)
    
    CVE-2019-1010180: Fixed an out of bound memory access that could lead
    to crashes (bsc#1142772)
    
    enable xtensa architecture (Tensilica lc6 and related)
    
    Use -ffat-lto-objects in order to provide assembly for static libs
    (bsc#1141913).
    
    Fixed some LTO build issues (bsc#1133131 bsc#1133232).
    
    riscv: Don't check ABI flags if no code section
    
    Fixed a segfault in ld when building some versions of pacemaker
    (bsc#1154025, bsc#1154016).
    
    Add avr, epiphany and rx to target_list so that the common binutils
    can handle all objects we can create with crosses (bsc#1152590).
    
    Update to binutils 2.32: The binutils now support for the C-SKY
    processor series.
    
    The x86 assembler now supports a -mvexwig=[0|1] option to control
    encoding of VEX.W-ignored (WIG) VEX instructions. It also has a new
    
    -mx86-used-note=[yes|no] option to generate (or not) x86 GNU property
    notes.
    
    The MIPS assembler now supports the Loongson EXTensions R2 (EXT2), the
    Loongson EXTensions (EXT) instructions, the Loongson Content Address
    Memory (CAM) ASE and the Loongson MultiMedia extensions Instructions
    (MMI) ASE.
    
    The addr2line, c++filt, nm and objdump tools now have a default limit
    on the maximum amount of recursion that is allowed whilst demangling
    strings. This limit can be disabled if necessary.
    
    Objdump's --disassemble option can now take a parameter, specifying
    the starting symbol for disassembly. Disassembly will continue from
    this symbol up to the next symbol or the end of the function.
    
    The BFD linker will now report property change in linker map file when
    merging GNU properties.
    
    The BFD linker's -t option now doesn't report members within archives,
    unless -t is given twice. This makes it more useful when generating a
    list of files that should be packaged for a linker bug report.
    
    The GOLD linker has improved warning messages for relocations that
    refer to discarded sections.
    
    Improve relro support on s390 [fate#326356]
    
    Fix broken debug symbols (bsc#1118644)
    
    Handle ELF compressed header alignment correctly.
    
    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=1109412"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1109413"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1109414"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1111996"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1112534"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1112535"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1113247"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1113252"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1113255"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1116827"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1118644"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1118830"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1118831"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1120640"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1121034"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1121035"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1121056"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1133131"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1133232"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1141913"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1142772"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1152590"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1154016"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1154025"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-1000876/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-17358/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-17359/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-17360/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-17985/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-18309/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-18483/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-18484/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-18605/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-18606/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-18607/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-19931/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-19932/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-20623/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-20651/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-20671/"
      );
      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/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2019-1010180/"
      );
      # https://www.suse.com/support/update/announcement/2019/suse-su-20192779-1/
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?9f92e1f7"
      );
      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 Module for Packagehub Subpackages 15-SP1:zypper
    in -t patch SUSE-SLE-Module-Packagehub-Subpackages-15-SP1-2019-2779=1
    
    SUSE Linux Enterprise Module for Open Buildservice Development Tools
    15-SP1:zypper in -t patch
    SUSE-SLE-Module-Development-Tools-OBS-15-SP1-2019-2779=1
    
    SUSE Linux Enterprise Module for Development Tools 15-SP1:zypper in -t
    patch SUSE-SLE-Module-Development-Tools-15-SP1-2019-2779=1
    
    SUSE Linux Enterprise Module for Basesystem 15-SP1:zypper in -t patch
    SUSE-SLE-Module-Basesystem-15-SP1-2019-2779=1"
      );
      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:"cvss_score_source", value:"CVE-2019-1010180");
      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:"p-cpe:/a:novell:suse_linux:binutils-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:binutils-gold");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:binutils-gold-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-aarch64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-aarch64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-aarch64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-arm-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-arm-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-arm-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-avr-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-avr-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-avr-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-epiphany-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-epiphany-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-epiphany-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-hppa-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-hppa-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-hppa-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-hppa64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-hppa64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-hppa64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-i386-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-i386-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-i386-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ia64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ia64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ia64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-m68k-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-m68k-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-m68k-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-mips-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-mips-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-mips-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ppc-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ppc-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ppc-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ppc64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ppc64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ppc64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ppc64le-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ppc64le-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-ppc64le-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-riscv64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-riscv64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-riscv64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-rx-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-rx-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-rx-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-s390-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-s390-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-s390-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-s390x-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-s390x-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-s390x-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-sparc-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-sparc-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-sparc-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-sparc64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-sparc64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-sparc64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-spu-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-spu-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-spu-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-x86_64-binutils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-x86_64-binutils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:cross-x86_64-binutils-debugsource");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:15");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2018/01/26");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/10/24");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/10/25");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 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:"^(SLED15|SLES15)$", string:os_ver)) audit(AUDIT_OS_NOT, "SUSE SLED15 / SLES15", "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 == "SLES15" && (! preg(pattern:"^(1)$", string:sp))) audit(AUDIT_OS_NOT, "SLES15 SP1", os_ver + " SP" + sp);
    if (os_ver == "SLED15" && (! preg(pattern:"^(1)$", string:sp))) audit(AUDIT_OS_NOT, "SLED15 SP1", os_ver + " SP" + sp);
    
    
    flag = 0;
    if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"cross-s390x-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"cross-s390x-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"cross-s390x-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"binutils-devel-32bit-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", cpu:"s390x", reference:"cross-x86_64-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", cpu:"s390x", reference:"cross-x86_64-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", cpu:"s390x", reference:"cross-x86_64-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"binutils-gold-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"binutils-gold-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"binutils-gold-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"binutils-gold-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-arm-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-arm-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-arm-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-avr-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-avr-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-avr-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-epiphany-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-epiphany-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-epiphany-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-hppa-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-hppa-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-hppa-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-hppa64-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-hppa64-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-hppa64-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-i386-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-i386-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-i386-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-ia64-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-ia64-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-ia64-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-m68k-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-m68k-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-m68k-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-mips-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-mips-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-mips-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-ppc-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-ppc-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-ppc-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-ppc64-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-ppc64-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-ppc64-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-riscv64-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-riscv64-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-riscv64-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-rx-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-rx-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-rx-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-s390-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-s390-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-s390-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-sparc-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-sparc-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-sparc-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-sparc64-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-sparc64-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-sparc64-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-spu-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-spu-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-spu-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-aarch64-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-aarch64-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-aarch64-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-ppc64le-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-ppc64le-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"cross-ppc64le-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"binutils-devel-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"cross-s390x-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"cross-s390x-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"cross-s390x-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"binutils-devel-32bit-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", cpu:"s390x", reference:"cross-x86_64-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", cpu:"s390x", reference:"cross-x86_64-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", cpu:"s390x", reference:"cross-x86_64-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"binutils-gold-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"binutils-gold-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"binutils-gold-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"binutils-gold-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-arm-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-arm-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-arm-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-avr-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-avr-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-avr-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-epiphany-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-epiphany-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-epiphany-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-hppa-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-hppa-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-hppa-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-hppa64-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-hppa64-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-hppa64-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-i386-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-i386-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-i386-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-ia64-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-ia64-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-ia64-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-m68k-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-m68k-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-m68k-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-mips-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-mips-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-mips-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-ppc-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-ppc-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-ppc-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-ppc64-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-ppc64-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-ppc64-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-riscv64-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-riscv64-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-riscv64-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-rx-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-rx-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-rx-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-s390-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-s390-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-s390-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-sparc-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-sparc-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-sparc-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-sparc64-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-sparc64-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-sparc64-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-spu-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-spu-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-spu-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-aarch64-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-aarch64-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-aarch64-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-ppc64le-binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-ppc64le-binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"cross-ppc64le-binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"binutils-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"binutils-debuginfo-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"binutils-debugsource-2.32-7.5.1")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"binutils-devel-2.32-7.5.1")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get());
      else security_warning(0);
      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-1728.NASL
    descriptionAccording to the versions of the binutils packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - binutils: integer overflow leads to heap-based buffer overflow in objdump(CVE-2018-1000876) - An issue was discovered in GNU Binutils 2.32. It is a heap-based buffer overflow in process_mips_specific in readelf.c via a malformed MIPS option section.(CVE-2019-9077) - An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils through 2.31. There is an integer overflow and infinite loop caused by the IS_CONTAINED_BY_LMA macro in elf.c.(CVE-2018-19932) - 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.
    last seen2020-05-06
    modified2019-07-22
    plugin id126855
    published2019-07-22
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/126855
    titleEulerOS 2.0 SP2 : binutils (EulerOS-SA-2019-1728)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(126855);
      script_version("1.3");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/04");
    
      script_cve_id(
        "CVE-2018-1000876",
        "CVE-2018-17360",
        "CVE-2018-19932",
        "CVE-2019-9077"
      );
    
      script_name(english:"EulerOS 2.0 SP2 : binutils (EulerOS-SA-2019-1728)");
      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 :
    
      - binutils: integer overflow leads to heap-based buffer
        overflow in objdump(CVE-2018-1000876)
    
      - An issue was discovered in GNU Binutils 2.32. It is a
        heap-based buffer overflow in process_mips_specific in
        readelf.c via a malformed MIPS option
        section.(CVE-2019-9077)
    
      - An issue was discovered in the Binary File Descriptor
        (BFD) library (aka libbfd), as distributed in GNU
        Binutils through 2.31. There is an integer overflow and
        infinite loop caused by the IS_CONTAINED_BY_LMA macro
        in elf.c.(CVE-2018-19932)
    
      - 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-1728
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?639be55a");
      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:U/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:U/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2019/07/23");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/07/22");
    
      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.h18",
            "binutils-devel-2.25.1-22.base.h18"];
    
    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");
    }