Vulnerabilities > CVE-2019-17595 - Out-of-bounds Read vulnerability in multiple products

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

Summary

There is a heap-based buffer over-read in the fmt_entry function in tinfo/comp_hash.c in the terminfo library in ncurses before 6.1-20191012.

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-2544.NASL
    descriptionAccording to the versions of the ncurses packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - There is a heap-based buffer over-read in the _nc_find_entry function in tinfo/comp_hash.c in the terminfo library in ncurses before 6.1-20191012.(CVE-2019-17594) - There is a heap-based buffer over-read in the fmt_entry function in tinfo/comp_hash.c in the terminfo library in ncurses before 6.1-20191012.(CVE-2019-17595) 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-08
    modified2019-12-09
    plugin id131818
    published2019-12-09
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/131818
    titleEulerOS 2.0 SP5 : ncurses (EulerOS-SA-2019-2544)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(131818);
      script_version("1.3");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/07");
    
      script_cve_id(
        "CVE-2019-17594",
        "CVE-2019-17595"
      );
    
      script_name(english:"EulerOS 2.0 SP5 : ncurses (EulerOS-SA-2019-2544)");
      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 ncurses packages installed, the
    EulerOS installation on the remote host is affected by the following
    vulnerabilities :
    
      - There is a heap-based buffer over-read in the
        _nc_find_entry function in tinfo/comp_hash.c in the
        terminfo library in ncurses before
        6.1-20191012.(CVE-2019-17594)
    
      - There is a heap-based buffer over-read in the fmt_entry
        function in tinfo/comp_hash.c in the terminfo library
        in ncurses before 6.1-20191012.(CVE-2019-17595)
    
    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-2544
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?85663f56");
      script_set_attribute(attribute:"solution", value:
    "Update the affected ncurses 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:N/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/12/09");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/12/09");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-base");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-libs");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-term");
      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 = ["ncurses-5.9-14.20130511.h6.eulerosv2r7",
            "ncurses-base-5.9-14.20130511.h6.eulerosv2r7",
            "ncurses-devel-5.9-14.20130511.h6.eulerosv2r7",
            "ncurses-libs-5.9-14.20130511.h6.eulerosv2r7",
            "ncurses-term-5.9-14.20130511.h6.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, "ncurses");
    }
    
  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2019-3094-1.NASL
    descriptionThis update for ncurses fixes the following issues : Security issue fixed : CVE-2018-10754: Fixed a denial of service caused by a NULL pointer Dereference in the _nc_parse_entry() (bsc#1131830). CVE-2019-17594: Fixed a heap-based buffer over-read in _nc_find_entry function in tinfo/comp_hash.c (bsc#1154036). CVE-2019-17595: Fixed a heap-based buffer over-read in fmt_entry function in tinfo/comp_hash.c (bsc#1154037). Bug fixes: Fixed ppc64le build configuration (bsc#1134550). 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.
    last seen2020-06-01
    modified2020-06-02
    plugin id131555
    published2019-12-03
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/131555
    titleSUSE SLED12 / SLES12 Security Update : ncurses (SUSE-SU-2019:3094-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:3094-1.
    # The text itself is copyright (C) SUSE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(131555);
      script_version("1.2");
      script_cvs_date("Date: 2019/12/09");
    
      script_cve_id("CVE-2018-10754", "CVE-2019-17594", "CVE-2019-17595");
    
      script_name(english:"SUSE SLED12 / SLES12 Security Update : ncurses (SUSE-SU-2019:3094-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 ncurses fixes the following issues :
    
    Security issue fixed :
    
    CVE-2018-10754: Fixed a denial of service caused by a NULL pointer
    Dereference in the _nc_parse_entry() (bsc#1131830).
    
    CVE-2019-17594: Fixed a heap-based buffer over-read in _nc_find_entry
    function in tinfo/comp_hash.c (bsc#1154036).
    
    CVE-2019-17595: Fixed a heap-based buffer over-read in fmt_entry
    function in tinfo/comp_hash.c (bsc#1154037).
    
    Bug fixes: Fixed ppc64le build configuration (bsc#1134550).
    
    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=1131830"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1134550"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1154036"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1154037"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-10754/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2019-17594/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2019-17595/"
      );
      # https://www.suse.com/support/update/announcement/2019/suse-su-20193094-1/
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?5ba9cfa9"
      );
      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 Software Development Kit 12-SP5:zypper in -t
    patch SUSE-SLE-SDK-12-SP5-2019-3094=1
    
    SUSE Linux Enterprise Software Development Kit 12-SP4:zypper in -t
    patch SUSE-SLE-SDK-12-SP4-2019-3094=1
    
    SUSE Linux Enterprise Server 12-SP5:zypper in -t patch
    SUSE-SLE-SERVER-12-SP5-2019-3094=1
    
    SUSE Linux Enterprise Server 12-SP4:zypper in -t patch
    SUSE-SLE-SERVER-12-SP4-2019-3094=1
    
    SUSE Linux Enterprise Desktop 12-SP4:zypper in -t patch
    SUSE-SLE-DESKTOP-12-SP4-2019-3094=1
    
    SUSE CaaS Platform 3.0 :
    
    To install this update, use the SUSE CaaS Platform Velum dashboard. It
    will inform you if it detects new updates and let you then trigger
    updating of the complete cluster in a controlled way."
      );
      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:N/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:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:libncurses5");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:libncurses5-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:libncurses6");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:libncurses6-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:ncurses-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:ncurses-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:ncurses-devel-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:ncurses-utils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:ncurses-utils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:tack");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:tack-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:terminfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:terminfo-base");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:12");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2018/05/04");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/11/28");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/12/03");
      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:"^(4|5)$", string:sp))) audit(AUDIT_OS_NOT, "SLES12 SP4/5", os_ver + " SP" + sp);
    if (os_ver == "SLED12" && (! preg(pattern:"^(4)$", string:sp))) audit(AUDIT_OS_NOT, "SLED12 SP4", os_ver + " SP" + sp);
    
    
    flag = 0;
    if (rpm_check(release:"SLES12", sp:"4", reference:"libncurses5-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"libncurses5-debuginfo-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"libncurses6-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"libncurses6-debuginfo-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"ncurses-debugsource-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"ncurses-devel-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"ncurses-devel-debuginfo-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"ncurses-utils-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"ncurses-utils-debuginfo-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"tack-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"tack-debuginfo-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"terminfo-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"terminfo-base-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"libncurses5-32bit-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"libncurses5-debuginfo-32bit-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"libncurses6-32bit-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"libncurses6-debuginfo-32bit-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"ncurses-devel-32bit-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"4", reference:"ncurses-devel-debuginfo-32bit-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"libncurses5-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"libncurses5-debuginfo-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"libncurses6-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"libncurses6-debuginfo-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"ncurses-debugsource-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"ncurses-devel-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"ncurses-devel-debuginfo-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"ncurses-utils-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"ncurses-utils-debuginfo-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"tack-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"tack-debuginfo-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"terminfo-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"terminfo-base-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"libncurses5-32bit-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"libncurses5-debuginfo-32bit-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"libncurses6-32bit-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"libncurses6-debuginfo-32bit-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"ncurses-devel-32bit-5.9-69.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"5", reference:"ncurses-devel-debuginfo-32bit-5.9-69.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"libncurses5-32bit-5.9-69.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"libncurses5-5.9-69.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"libncurses5-debuginfo-32bit-5.9-69.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"libncurses5-debuginfo-5.9-69.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"libncurses6-32bit-5.9-69.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"libncurses6-5.9-69.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"libncurses6-debuginfo-32bit-5.9-69.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"libncurses6-debuginfo-5.9-69.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"ncurses-debugsource-5.9-69.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"ncurses-devel-5.9-69.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"ncurses-devel-debuginfo-5.9-69.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"ncurses-utils-5.9-69.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"ncurses-utils-debuginfo-5.9-69.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"tack-5.9-69.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"tack-debuginfo-5.9-69.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"terminfo-5.9-69.1")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"terminfo-base-5.9-69.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, "ncurses");
    }
    
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-2292.NASL
    descriptionAccording to the versions of the ncurses packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - There is a heap-based buffer over-read in the _nc_find_entry function in tinfo/comp_hash.c in the terminfo library in ncurses before 6.1-20191012.(CVE-2019-17594) - There is a heap-based buffer over-read in the fmt_entry function in tinfo/comp_hash.c in the terminfo library in ncurses before 6.1-20191012.(CVE-2019-17595) 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-11-27
    plugin id131358
    published2019-11-27
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/131358
    titleEulerOS 2.0 SP8 : ncurses (EulerOS-SA-2019-2292)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(131358);
      script_version("1.3");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/01");
    
      script_cve_id(
        "CVE-2019-17594",
        "CVE-2019-17595"
      );
    
      script_name(english:"EulerOS 2.0 SP8 : ncurses (EulerOS-SA-2019-2292)");
      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 ncurses packages installed, the
    EulerOS installation on the remote host is affected by the following
    vulnerabilities :
    
      - There is a heap-based buffer over-read in the
        _nc_find_entry function in tinfo/comp_hash.c in the
        terminfo library in ncurses before
        6.1-20191012.(CVE-2019-17594)
    
      - There is a heap-based buffer over-read in the fmt_entry
        function in tinfo/comp_hash.c in the terminfo library
        in ncurses before 6.1-20191012.(CVE-2019-17595)
    
    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-2292
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?6c4ff5cd");
      script_set_attribute(attribute:"solution", value:
    "Update the affected ncurses 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:N/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/11/27");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/11/27");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-base");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-c++-libs");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-compat-libs");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-libs");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-term");
      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 = ["ncurses-6.1-8.20180923.h1.eulerosv2r8",
            "ncurses-base-6.1-8.20180923.h1.eulerosv2r8",
            "ncurses-c++-libs-6.1-8.20180923.h1.eulerosv2r8",
            "ncurses-compat-libs-6.1-8.20180923.h1.eulerosv2r8",
            "ncurses-devel-6.1-8.20180923.h1.eulerosv2r8",
            "ncurses-libs-6.1-8.20180923.h1.eulerosv2r8",
            "ncurses-term-6.1-8.20180923.h1.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, "ncurses");
    }
    
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-2420.NASL
    descriptionAccording to the versions of the ncurses packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - There is a heap-based buffer over-read in the _nc_find_entry function in tinfo/comp_hash.c in the terminfo library in ncurses before 6.1-20191012.(CVE-2019-17594) - There is a heap-based buffer over-read in the fmt_entry function in tinfo/comp_hash.c in the terminfo library in ncurses before 6.1-20191012.(CVE-2019-17595) - In ncurses 6.0, there is a stack-based buffer overflow in the fmt_entry function. A crafted input will lead to a remote arbitrary code execution attack.(CVE-2017-10684) - In ncurses 6.0, there is a format string vulnerability in the fmt_entry function. A crafted input will lead to a remote arbitrary code execution attack.(CVE-2017-10685) - In ncurses 6.0, there is an attempted 0xffffffffffffffff access in the append_acs function of tinfo/parse_entry.c. It could lead to a remote denial of service attack if the terminfo library code is used to process untrusted terminfo data.(CVE-2017-11112) - In ncurses 6.0, there is a NULL Pointer Dereference in the _nc_parse_entry function of tinfo/parse_entry.c. It could lead to a remote denial of service attack if the terminfo library code is used to process untrusted terminfo data.(CVE-2017-11113) - There is an infinite loop in the next_char function in comp_scan.c in ncurses 6.0, related to libtic. A crafted input will lead to a remote denial of service attack.(CVE-2017-13728) - There is an illegal address access in the _nc_save_str function in alloc_entry.c in ncurses 6.0. It will lead to a remote denial of service attack.(CVE-2017-13729) - There is an illegal address access in the function _nc_read_entry_source() in progs/tic.c in ncurses 6.0 that might lead to a remote denial of service attack.(CVE-2017-13730) - There is an illegal address access in the function postprocess_termcap() in parse_entry.c in ncurses 6.0 that will lead to a remote denial of service attack.(CVE-2017-13731) - There is an illegal address access in the function dump_uses() in progs/dump_entry.c in ncurses 6.0 that might lead to a remote denial of service attack.(CVE-2017-13732) - There is an illegal address access in the fmt_entry function in progs/dump_entry.c in ncurses 6.0 that might lead to a remote denial of service attack.(CVE-2017-13733) - There is an illegal address access in the _nc_safe_strcat function in strings.c in ncurses 6.0 that will lead to a remote denial of service attack.(CVE-2017-13734) - In ncurses 6.1, there is a NULL pointer dereference at function _nc_parse_entry in parse_entry.c that will lead to a denial of service attack. The product proceeds to the dereference code path even after a
    last seen2020-05-08
    modified2019-12-10
    plugin id131912
    published2019-12-10
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/131912
    titleEulerOS 2.0 SP2 : ncurses (EulerOS-SA-2019-2420)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(131912);
      script_version("1.3");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/07");
    
      script_cve_id(
        "CVE-2017-10684",
        "CVE-2017-10685",
        "CVE-2017-11112",
        "CVE-2017-11113",
        "CVE-2017-13728",
        "CVE-2017-13729",
        "CVE-2017-13730",
        "CVE-2017-13731",
        "CVE-2017-13732",
        "CVE-2017-13733",
        "CVE-2017-13734",
        "CVE-2018-19211",
        "CVE-2019-17594",
        "CVE-2019-17595"
      );
    
      script_name(english:"EulerOS 2.0 SP2 : ncurses (EulerOS-SA-2019-2420)");
      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 ncurses packages installed, the
    EulerOS installation on the remote host is affected by the following
    vulnerabilities :
    
      - There is a heap-based buffer over-read in the
        _nc_find_entry function in tinfo/comp_hash.c in the
        terminfo library in ncurses before
        6.1-20191012.(CVE-2019-17594)
    
      - There is a heap-based buffer over-read in the fmt_entry
        function in tinfo/comp_hash.c in the terminfo library
        in ncurses before 6.1-20191012.(CVE-2019-17595)
    
      - In ncurses 6.0, there is a stack-based buffer overflow
        in the fmt_entry function. A crafted input will lead to
        a remote arbitrary code execution
        attack.(CVE-2017-10684)
    
      - In ncurses 6.0, there is a format string vulnerability
        in the fmt_entry function. A crafted input will lead to
        a remote arbitrary code execution
        attack.(CVE-2017-10685)
    
      - In ncurses 6.0, there is an attempted
        0xffffffffffffffff access in the append_acs function of
        tinfo/parse_entry.c. It could lead to a remote denial
        of service attack if the terminfo library code is used
        to process untrusted terminfo data.(CVE-2017-11112)
    
      - In ncurses 6.0, there is a NULL Pointer Dereference in
        the _nc_parse_entry function of tinfo/parse_entry.c. It
        could lead to a remote denial of service attack if the
        terminfo library code is used to process untrusted
        terminfo data.(CVE-2017-11113)
    
      - There is an infinite loop in the next_char function in
        comp_scan.c in ncurses 6.0, related to libtic. A
        crafted input will lead to a remote denial of service
        attack.(CVE-2017-13728)
    
      - There is an illegal address access in the _nc_save_str
        function in alloc_entry.c in ncurses 6.0. It will lead
        to a remote denial of service attack.(CVE-2017-13729)
    
      - There is an illegal address access in the function
        _nc_read_entry_source() in progs/tic.c in ncurses 6.0
        that might lead to a remote denial of service
        attack.(CVE-2017-13730)
    
      - There is an illegal address access in the function
        postprocess_termcap() in parse_entry.c in ncurses 6.0
        that will lead to a remote denial of service
        attack.(CVE-2017-13731)
    
      - There is an illegal address access in the function
        dump_uses() in progs/dump_entry.c in ncurses 6.0 that
        might lead to a remote denial of service
        attack.(CVE-2017-13732)
    
      - There is an illegal address access in the fmt_entry
        function in progs/dump_entry.c in ncurses 6.0 that
        might lead to a remote denial of service
        attack.(CVE-2017-13733)
    
      - There is an illegal address access in the
        _nc_safe_strcat function in strings.c in ncurses 6.0
        that will lead to a remote denial of service
        attack.(CVE-2017-13734)
    
      - In ncurses 6.1, there is a NULL pointer dereference at
        function _nc_parse_entry in parse_entry.c that will
        lead to a denial of service attack. The product
        proceeds to the dereference code path even after a
        'dubious character `*' in name or alias field'
        detection.(CVE-2018-19211)
    
    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-2420
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?8f4fa791");
      script_set_attribute(attribute:"solution", value:
    "Update the affected ncurses 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:"patch_publication_date", value:"2019/12/04");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/12/10");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-base");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-libs");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-term");
      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 = ["ncurses-5.9-13.20130511.h5",
            "ncurses-base-5.9-13.20130511.h5",
            "ncurses-devel-5.9-13.20130511.h5",
            "ncurses-libs-5.9-13.20130511.h5",
            "ncurses-term-5.9-13.20130511.h5"];
    
    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_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, "ncurses");
    }
    
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2020-1064.NASL
    descriptionAccording to the versions of the ncurses packages installed, the EulerOS Virtualization for ARM 64 installation on the remote host is affected by the following vulnerabilities : - There is a heap-based buffer over-read in the fmt_entry function in tinfo/comp_hash.c in the terminfo library in ncurses before 6.1-20191012.(CVE-2019-17595) - There is a heap-based buffer over-read in the _nc_find_entry function in tinfo/comp_hash.c in the terminfo library in ncurses before 6.1-20191012.(CVE-2019-17594) 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-06-01
    modified2020-06-02
    plugin id132818
    published2020-01-13
    reporterThis script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/132818
    titleEulerOS Virtualization for ARM 64 3.0.5.0 : ncurses (EulerOS-SA-2020-1064)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(132818);
      script_version("1.2");
      script_cvs_date("Date: 2020/01/15");
    
      script_cve_id(
        "CVE-2019-17594",
        "CVE-2019-17595"
      );
    
      script_name(english:"EulerOS Virtualization for ARM 64 3.0.5.0 : ncurses (EulerOS-SA-2020-1064)");
      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 ncurses packages installed, the
    EulerOS Virtualization for ARM 64 installation on the remote host is
    affected by the following vulnerabilities :
    
      - There is a heap-based buffer over-read in the fmt_entry
        function in tinfo/comp_hash.c in the terminfo library
        in ncurses before 6.1-20191012.(CVE-2019-17595)
    
      - There is a heap-based buffer over-read in the
        _nc_find_entry function in tinfo/comp_hash.c in the
        terminfo library in ncurses before
        6.1-20191012.(CVE-2019-17594)
    
    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-1064
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?dbf75e4b");
      script_set_attribute(attribute:"solution", value:
    "Update the affected ncurses packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/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:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L");
      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:"2020/01/13");
      script_set_attribute(attribute:"plugin_publication_date", value:"2020/01/13");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-base");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-compat-libs");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-libs");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:uvp:3.0.5.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.5.0") audit(AUDIT_OS_NOT, "EulerOS Virtualization 3.0.5.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 = ["ncurses-6.1-8.20180923.h1.eulerosv2r8",
            "ncurses-base-6.1-8.20180923.h1.eulerosv2r8",
            "ncurses-compat-libs-6.1-8.20180923.h1.eulerosv2r8",
            "ncurses-libs-6.1-8.20180923.h1.eulerosv2r8"];
    
    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, "ncurses");
    }
    
  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2019-2550.NASL
    descriptionThis update for ncurses fixes the following issues : Security issues fixed : - CVE-2019-17594: Fixed a heap-based buffer over-read in the _nc_find_entry function (bsc#1154036). - CVE-2019-17595: Fixed a heap-based buffer over-read in the fmt_entry function (bsc#1154037). Non-security issue fixed : - Removed screen.xterm from terminfo database (bsc#1103320). This update was imported from the SUSE:SLE-15:Update update project.
    last seen2020-06-01
    modified2020-06-02
    plugin id131278
    published2019-11-25
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/131278
    titleopenSUSE Security Update : ncurses (openSUSE-2019-2550)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from openSUSE Security Update openSUSE-2019-2550.
    #
    # The text description of this plugin is (C) SUSE LLC.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(131278);
      script_version("1.2");
      script_cvs_date("Date: 2019/12/09");
    
      script_cve_id("CVE-2019-17594", "CVE-2019-17595");
    
      script_name(english:"openSUSE Security Update : ncurses (openSUSE-2019-2550)");
      script_summary(english:"Check for the openSUSE-2019-2550 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 ncurses fixes the following issues :
    
    Security issues fixed :
    
      - CVE-2019-17594: Fixed a heap-based buffer over-read in
        the _nc_find_entry function (bsc#1154036).
    
      - CVE-2019-17595: Fixed a heap-based buffer over-read in
        the fmt_entry function (bsc#1154037).
    
    Non-security issue fixed :
    
      - Removed screen.xterm from terminfo database
        (bsc#1103320).
    
    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=1103320"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1154036"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1154037"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected ncurses 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:N/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:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libncurses5");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libncurses5-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libncurses5-32bit-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libncurses5-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libncurses6");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libncurses6-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libncurses6-32bit-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libncurses6-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ncurses-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ncurses-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ncurses-devel-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ncurses-devel-32bit-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ncurses-devel-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ncurses-utils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ncurses-utils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ncurses5-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ncurses5-devel-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:tack");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:tack-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:terminfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:terminfo-base");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:terminfo-iterm");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:terminfo-screen");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:15.0");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2019/10/14");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/11/23");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/11/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/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:"libncurses5-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"libncurses5-debuginfo-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"libncurses6-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"libncurses6-debuginfo-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"ncurses-debugsource-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"ncurses-devel-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"ncurses-devel-debuginfo-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"ncurses-utils-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"ncurses-utils-debuginfo-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"ncurses5-devel-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"tack-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"tack-debuginfo-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"terminfo-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"terminfo-base-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"terminfo-iterm-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"terminfo-screen-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", cpu:"x86_64", reference:"libncurses5-32bit-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", cpu:"x86_64", reference:"libncurses5-32bit-debuginfo-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", cpu:"x86_64", reference:"libncurses6-32bit-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", cpu:"x86_64", reference:"libncurses6-32bit-debuginfo-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", cpu:"x86_64", reference:"ncurses-devel-32bit-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", cpu:"x86_64", reference:"ncurses-devel-32bit-debuginfo-6.1-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", cpu:"x86_64", reference:"ncurses5-devel-32bit-6.1-lp150.9.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, "libncurses5 / libncurses5-debuginfo / libncurses6 / etc");
    }
    
  • NASL familyPhotonOS Local Security Checks
    NASL idPHOTONOS_PHSA-2020-1_0-0281_NCURSES.NASL
    descriptionAn update of the ncurses package has been released.
    last seen2020-03-17
    modified2020-03-02
    plugin id134207
    published2020-03-02
    reporterThis script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/134207
    titlePhoton OS 1.0: Ncurses PHSA-2020-1.0-0281
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    
    # The descriptive text and package checks in this plugin were
    # extracted from VMware Security Advisory PHSA-2020-1.0-0281. The text
    # itself is copyright (C) VMware, Inc.
    
    
    include('compat.inc');
    
    if (description)
    {
      script_id(134207);
      script_version("1.2");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/03/03");
    
      script_cve_id("CVE-2019-17594", "CVE-2019-17595");
    
      script_name(english:"Photon OS 1.0: Ncurses PHSA-2020-1.0-0281");
    
      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 ncurses package has been released.");
      script_set_attribute(attribute:"see_also", value:"https://github.com/vmware/photon/wiki/Security-Updates-1.0-281.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:P/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:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
      script_set_attribute(attribute:"cvss_score_source", value:"CVE-2019-17595");
    
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2019/10/14");
      script_set_attribute(attribute:"patch_publication_date", value:"2020/02/28");
      script_set_attribute(attribute:"plugin_publication_date", value:"2020/03/02");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:vmware:photonos:ncurses");
      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) 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$" && "aarch64" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "PhotonOS", cpu);
    
    flag = 0;
    
    if (rpm_check(release:"PhotonOS-1.0", cpu:"x86_64", reference:"ncurses-6.0-10.ph1")) flag++;
    if (rpm_check(release:"PhotonOS-1.0", cpu:"x86_64", reference:"ncurses-compat-6.0-10.ph1")) flag++;
    if (rpm_check(release:"PhotonOS-1.0", cpu:"x86_64", reference:"ncurses-debuginfo-6.0-10.ph1")) flag++;
    if (rpm_check(release:"PhotonOS-1.0", cpu:"x86_64", reference:"ncurses-devel-6.0-10.ph1")) 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, "ncurses");
    }
    
  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2019-2997-1.NASL
    descriptionThis update for ncurses fixes the following issues : Security issues fixed : CVE-2019-17594: Fixed a heap-based buffer over-read in the _nc_find_entry function (bsc#1154036). CVE-2019-17595: Fixed a heap-based buffer over-read in the fmt_entry function (bsc#1154037). Non-security issue fixed: Removed screen.xterm from terminfo database (bsc#1103320). 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.
    last seen2020-06-01
    modified2020-06-02
    plugin id131159
    published2019-11-20
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/131159
    titleSUSE SLED15 / SLES15 Security Update : ncurses (SUSE-SU-2019:2997-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:2997-1.
    # The text itself is copyright (C) SUSE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(131159);
      script_version("1.2");
      script_cvs_date("Date: 2019/12/09");
    
      script_cve_id("CVE-2019-17594", "CVE-2019-17595");
    
      script_name(english:"SUSE SLED15 / SLES15 Security Update : ncurses (SUSE-SU-2019:2997-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 ncurses fixes the following issues :
    
    Security issues fixed :
    
    CVE-2019-17594: Fixed a heap-based buffer over-read in the
    _nc_find_entry function (bsc#1154036).
    
    CVE-2019-17595: Fixed a heap-based buffer over-read in the fmt_entry
    function (bsc#1154037).
    
    Non-security issue fixed: Removed screen.xterm from terminfo database
    (bsc#1103320).
    
    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=1103320"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1154036"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1154037"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2019-17594/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2019-17595/"
      );
      # https://www.suse.com/support/update/announcement/2019/suse-su-20192997-1/
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?b2b58b87"
      );
      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 Open Buildservice Development Tools
    15-SP1:zypper in -t patch
    SUSE-SLE-Module-Development-Tools-OBS-15-SP1-2019-2997=1
    
    SUSE Linux Enterprise Module for Legacy Software 15-SP1:zypper in -t
    patch SUSE-SLE-Module-Legacy-15-SP1-2019-2997=1
    
    SUSE Linux Enterprise Module for Legacy Software 15:zypper in -t patch
    SUSE-SLE-Module-Legacy-15-2019-2997=1
    
    SUSE Linux Enterprise Module for Development Tools 15-SP1:zypper in -t
    patch SUSE-SLE-Module-Development-Tools-15-SP1-2019-2997=1
    
    SUSE Linux Enterprise Module for Development Tools 15:zypper in -t
    patch SUSE-SLE-Module-Development-Tools-15-2019-2997=1
    
    SUSE Linux Enterprise Module for Basesystem 15-SP1:zypper in -t patch
    SUSE-SLE-Module-Basesystem-15-SP1-2019-2997=1
    
    SUSE Linux Enterprise Module for Basesystem 15:zypper in -t patch
    SUSE-SLE-Module-Basesystem-15-2019-2997=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:N/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:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:libncurses5");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:libncurses5-32bit-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:libncurses5-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:libncurses6");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:libncurses6-32bit-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:libncurses6-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:ncurses-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:ncurses-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:ncurses-devel-32bit-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:ncurses-devel-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:ncurses-utils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:ncurses-utils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:ncurses5-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:tack");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:tack-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:terminfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:terminfo-base");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:terminfo-iterm");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:terminfo-screen");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:15");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2019/10/14");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/11/18");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/11/20");
      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|1)$", string:sp))) audit(AUDIT_OS_NOT, "SLES15 SP0/1", os_ver + " SP" + sp);
    if (os_ver == "SLED15" && (! preg(pattern:"^(0|1)$", string:sp))) audit(AUDIT_OS_NOT, "SLED15 SP0/1", os_ver + " SP" + sp);
    
    
    flag = 0;
    if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"ncurses-debugsource-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"ncurses5-devel-32bit-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"libncurses5-32bit-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"libncurses5-32bit-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"ncurses-debugsource-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"ncurses-devel-32bit-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"ncurses-devel-32bit-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"libncurses6-32bit-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"libncurses6-32bit-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"libncurses5-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"libncurses5-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"ncurses-debugsource-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"ncurses5-devel-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"libncurses6-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"libncurses6-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"ncurses-debugsource-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"ncurses-devel-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"ncurses-devel-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"ncurses-utils-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"ncurses-utils-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"tack-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"tack-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"terminfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"terminfo-base-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"terminfo-iterm-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"1", reference:"terminfo-screen-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", cpu:"x86_64", reference:"libncurses5-32bit-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", cpu:"x86_64", reference:"libncurses5-32bit-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", cpu:"x86_64", reference:"ncurses-debugsource-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", cpu:"x86_64", reference:"ncurses-devel-32bit-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", cpu:"x86_64", reference:"ncurses-devel-32bit-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", cpu:"x86_64", reference:"libncurses6-32bit-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", cpu:"x86_64", reference:"libncurses6-32bit-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"libncurses5-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"libncurses5-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"ncurses-debugsource-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"ncurses5-devel-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"libncurses6-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"libncurses6-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"ncurses-debugsource-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"ncurses-devel-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"ncurses-devel-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"ncurses-utils-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"ncurses-utils-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"tack-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"tack-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"terminfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"terminfo-base-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"terminfo-iterm-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLES15", sp:"0", reference:"terminfo-screen-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"ncurses-debugsource-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"ncurses5-devel-32bit-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"ncurses-debugsource-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"ncurses-devel-32bit-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"ncurses-devel-32bit-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"libncurses6-32bit-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"libncurses6-32bit-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"libncurses6-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"libncurses6-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"ncurses-debugsource-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"ncurses-devel-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"ncurses-devel-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"ncurses-utils-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"ncurses-utils-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"tack-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"tack-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"terminfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"terminfo-base-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"terminfo-iterm-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"1", reference:"terminfo-screen-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", cpu:"x86_64", reference:"ncurses-debugsource-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", cpu:"x86_64", reference:"ncurses-devel-32bit-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", cpu:"x86_64", reference:"ncurses-devel-32bit-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", cpu:"x86_64", reference:"libncurses6-32bit-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", cpu:"x86_64", reference:"libncurses6-32bit-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"libncurses6-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"libncurses6-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"ncurses-debugsource-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"ncurses-devel-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"ncurses-devel-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"ncurses-utils-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"ncurses-utils-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"tack-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"tack-debuginfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"terminfo-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"terminfo-base-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"terminfo-iterm-6.1-5.6.2")) flag++;
    if (rpm_check(release:"SLED15", sp:"0", reference:"terminfo-screen-6.1-5.6.2")) 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, "ncurses");
    }
    
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2020-1206.NASL
    descriptionAccording to the versions of the ncurses packages installed, the EulerOS Virtualization for ARM 64 installation on the remote host is affected by the following vulnerabilities : - There is a heap-based buffer over-read in the fmt_entry function in tinfo/comp_hash.c in the terminfo library in ncurses before 6.1-20191012.(CVE-2019-17595) - There is a heap-based buffer over-read in the _nc_find_entry function in tinfo/comp_hash.c in the terminfo library in ncurses before 6.1-20191012.(CVE-2019-17594) 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-03-19
    modified2020-03-13
    plugin id134495
    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/134495
    titleEulerOS Virtualization for ARM 64 3.0.2.0 : ncurses (EulerOS-SA-2020-1206)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(134495);
      script_version("1.2");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/03/19");
    
      script_cve_id(
        "CVE-2019-17594",
        "CVE-2019-17595"
      );
    
      script_name(english:"EulerOS Virtualization for ARM 64 3.0.2.0 : ncurses (EulerOS-SA-2020-1206)");
      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 ncurses packages installed, the
    EulerOS Virtualization for ARM 64 installation on the remote host is
    affected by the following vulnerabilities :
    
      - There is a heap-based buffer over-read in the fmt_entry
        function in tinfo/comp_hash.c in the terminfo library
        in ncurses before 6.1-20191012.(CVE-2019-17595)
    
      - There is a heap-based buffer over-read in the
        _nc_find_entry function in tinfo/comp_hash.c in the
        terminfo library in ncurses before
        6.1-20191012.(CVE-2019-17594)
    
    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-1206
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?dca593a1");
      script_set_attribute(attribute:"solution", value:
    "Update the affected ncurses packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/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:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L");
      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:"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:ncurses");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-base");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-libs");
      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 = ["ncurses-5.9-14.20130511.h6",
            "ncurses-base-5.9-14.20130511.h6",
            "ncurses-libs-5.9-14.20130511.h6"];
    
    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, "ncurses");
    }
    
  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2019-2551.NASL
    descriptionThis update for ncurses fixes the following issues : Security issues fixed : - CVE-2019-17594: Fixed a heap-based buffer over-read in the _nc_find_entry function (bsc#1154036). - CVE-2019-17595: Fixed a heap-based buffer over-read in the fmt_entry function (bsc#1154037). Non-security issue fixed : - Removed screen.xterm from terminfo database (bsc#1103320). This update was imported from the SUSE:SLE-15:Update update project.
    last seen2020-06-01
    modified2020-06-02
    plugin id131279
    published2019-11-25
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/131279
    titleopenSUSE Security Update : ncurses (openSUSE-2019-2551)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from openSUSE Security Update openSUSE-2019-2551.
    #
    # The text description of this plugin is (C) SUSE LLC.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(131279);
      script_version("1.2");
      script_cvs_date("Date: 2019/12/09");
    
      script_cve_id("CVE-2019-17594", "CVE-2019-17595");
    
      script_name(english:"openSUSE Security Update : ncurses (openSUSE-2019-2551)");
      script_summary(english:"Check for the openSUSE-2019-2551 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 ncurses fixes the following issues :
    
    Security issues fixed :
    
      - CVE-2019-17594: Fixed a heap-based buffer over-read in
        the _nc_find_entry function (bsc#1154036).
    
      - CVE-2019-17595: Fixed a heap-based buffer over-read in
        the fmt_entry function (bsc#1154037).
    
    Non-security issue fixed :
    
      - Removed screen.xterm from terminfo database
        (bsc#1103320).
    
    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=1103320"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1154036"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1154037"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected ncurses 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:N/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:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libncurses5");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libncurses5-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libncurses5-32bit-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libncurses5-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libncurses6");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libncurses6-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libncurses6-32bit-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libncurses6-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ncurses-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ncurses-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ncurses-devel-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ncurses-devel-32bit-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ncurses-devel-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ncurses-utils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ncurses-utils-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ncurses5-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:ncurses5-devel-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:tack");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:tack-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:terminfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:terminfo-base");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:terminfo-iterm");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:terminfo-screen");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:15.1");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2019/10/14");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/11/23");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/11/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/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:"libncurses5-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"libncurses5-debuginfo-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"libncurses6-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"libncurses6-debuginfo-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"ncurses-debugsource-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"ncurses-devel-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"ncurses-devel-debuginfo-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"ncurses-utils-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"ncurses-utils-debuginfo-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"ncurses5-devel-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"tack-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"tack-debuginfo-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"terminfo-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"terminfo-base-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"terminfo-iterm-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"terminfo-screen-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"libncurses5-32bit-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"libncurses5-32bit-debuginfo-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"libncurses6-32bit-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"libncurses6-32bit-debuginfo-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"ncurses-devel-32bit-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"ncurses-devel-32bit-debuginfo-6.1-lp151.6.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"ncurses5-devel-32bit-6.1-lp151.6.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, "libncurses5 / libncurses5-debuginfo / libncurses6 / etc");
    }
    
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-2634.NASL
    descriptionAccording to the versions of the ncurses packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - In ncurses 6.1, there is a NULL pointer dereference at function _nc_parse_entry in parse_entry.c that will lead to a denial of service attack. The product proceeds to the dereference code path even after a
    last seen2020-05-08
    modified2019-12-18
    plugin id132169
    published2019-12-18
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/132169
    titleEulerOS 2.0 SP3 : ncurses (EulerOS-SA-2019-2634)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(132169);
      script_version("1.3");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/07");
    
      script_cve_id(
        "CVE-2017-13728",
        "CVE-2017-13729",
        "CVE-2017-13730",
        "CVE-2017-13731",
        "CVE-2017-13732",
        "CVE-2017-13733",
        "CVE-2017-13734",
        "CVE-2018-19211",
        "CVE-2019-17594",
        "CVE-2019-17595"
      );
    
      script_name(english:"EulerOS 2.0 SP3 : ncurses (EulerOS-SA-2019-2634)");
      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 ncurses packages installed, the
    EulerOS installation on the remote host is affected by the following
    vulnerabilities :
    
      - In ncurses 6.1, there is a NULL pointer dereference at
        function _nc_parse_entry in parse_entry.c that will
        lead to a denial of service attack. The product
        proceeds to the dereference code path even after a
        'dubious character `*' in name or alias field'
        detection.(CVE-2018-19211)
    
      - There is a heap-based buffer over-read in the
        _nc_find_entry function in tinfo/comp_hash.c in the
        terminfo library in ncurses before
        6.1-20191012.(CVE-2019-17594)
    
      - There is a heap-based buffer over-read in the fmt_entry
        function in tinfo/comp_hash.c in the terminfo library
        in ncurses before 6.1-20191012.(CVE-2019-17595)
    
      - There is an illegal address access in the
        _nc_safe_strcat function in strings.c in ncurses 6.0
        that will lead to a remote denial of service
        attack.(CVE-2017-13734)
    
      - There is an illegal address access in the _nc_save_str
        function in alloc_entry.c in ncurses 6.0. It will lead
        to a remote denial of service attack.(CVE-2017-13729)
    
      - There is an illegal address access in the fmt_entry
        function in progs/dump_entry.c in ncurses 6.0 that
        might lead to a remote denial of service
        attack.(CVE-2017-13733)
    
      - There is an illegal address access in the function
        _nc_read_entry_source() in progs/tic.c in ncurses 6.0
        that might lead to a remote denial of service
        attack.(CVE-2017-13730)
    
      - There is an illegal address access in the function
        dump_uses() in progs/dump_entry.c in ncurses 6.0 that
        might lead to a remote denial of service
        attack.(CVE-2017-13732)
    
      - There is an illegal address access in the function
        postprocess_termcap() in parse_entry.c in ncurses 6.0
        that will lead to a remote denial of service
        attack.(CVE-2017-13731)
    
      - There is an infinite loop in the next_char function in
        comp_scan.c in ncurses 6.0, related to libtic. A
        crafted input will lead to a remote denial of service
        attack.(CVE-2017-13728)
    
    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-2634
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?7501c79d");
      script_set_attribute(attribute:"solution", value:
    "Update the affected ncurses 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:N/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/12/18");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/12/18");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-base");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-libs");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ncurses-term");
      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 = ["ncurses-5.9-13.20130511.h5",
            "ncurses-base-5.9-13.20130511.h5",
            "ncurses-devel-5.9-13.20130511.h5",
            "ncurses-libs-5.9-13.20130511.h5",
            "ncurses-term-5.9-13.20130511.h5"];
    
    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, "ncurses");
    }