Lucene search

K
nessusThis script is Copyright (C) 2019-2024 and is owned by Tenable, Inc. or an Affiliate thereof.EULEROS_SA-2019-2580.NASL
HistoryDec 19, 2019 - 12:00 a.m.

EulerOS 2.0 SP3 : freerdp (EulerOS-SA-2019-2580)

2019-12-1900:00:00
This script is Copyright (C) 2019-2024 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
16

8.2 High

AI Score

Confidence

High

According to the versions of the freerdp packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities :

  • An exploitable code execution vulnerability exists in the RDP receive functionality of FreeRDP 2.0.0-beta1+android11. A specially crafted server response can cause an out-of-bounds write resulting in an exploitable condition. An attacker can compromise the server or use a man in the middle to trigger this vulnerability.(CVE-2017-2835)

  • An exploitable denial of service vulnerability exists within the handling of challenge packets in FreeRDP 2.0.0-beta1+android11. A specially crafted challenge packet can cause the program termination leading to a denial of service condition. An attacker can compromise the server or use man in the middle to trigger this vulnerability.(CVE-2017-2838)

  • An exploitable denial of service vulnerability exists within the handling of challenge packets in FreeRDP 2.0.0-beta1+android11. A specially crafted challenge packet can cause the program termination leading to a denial of service condition. An attacker can compromise the server or use man in the middle to trigger this vulnerability.(CVE-2017-2839)

  • An exploitable denial of service vulnerability exists within the handling of security data in FreeRDP 2.0.0-beta1+android11. A specially crafted challenge packet can cause the program termination leading to a denial of service condition. An attacker can compromise the server or use man in the middle to trigger this vulnerability.(CVE-2017-2837)

  • An exploitable denial of service vulnerability exists within the reading of proprietary server certificates in FreeRDP 2.0.0-beta1+android11. A specially crafted challenge packet can cause the program termination leading to a denial of service condition. An attacker can compromise the server or use man in the middle to trigger this vulnerability.(CVE-2017-2836)

  • FreeRDP FreeRDP 2.0.0-rc3 released version before commit 205c612820dac644d665b5bb1cdf437dc5ca01e3 contains a Other/Unknown vulnerability in channels/drdynvc/client/drdynvc_main.c, drdynvc_process_capability_request that can result in The RDP server can read the client’s memory… This attack appear to be exploitable via RDPClient must connect the rdp server with echo option. This vulnerability appears to have been fixed in after commit 205c612820dac644d665b5bb1cdf437dc5ca01e3.(CVE-2018-1000 852)

  • Integer overflow in the license_read_scope_list function in libfreerdp/core/license.c in FreeRDP through 1.0.2 allows remote RDP servers to cause a denial of service (application crash) or possibly have unspecified other impact via a large ScopeCount value in a Scope List in a Server License Request packet.(CVE-2014-0791)

  • Multiple integer overflows in client/X11/xf_graphics.c in FreeRDP allow remote attackers to have an unspecified impact via the width and height to the (1) xf_Pointer_New or (2) xf_Bitmap_Decompress function, which causes an incorrect amount of memory to be allocated.(CVE-2014-0250)

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.

#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#

include('deprecated_nasl_level.inc');
include('compat.inc');

if (description)
{
  script_id(132297);
  script_version("1.7");
  script_set_attribute(attribute:"plugin_modification_date", value:"2024/04/03");

  script_cve_id(
    "CVE-2014-0250",
    "CVE-2014-0791",
    "CVE-2017-2835",
    "CVE-2017-2836",
    "CVE-2017-2837",
    "CVE-2017-2838",
    "CVE-2017-2839",
    "CVE-2018-1000852"
  );
  script_bugtraq_id(64689, 67670);

  script_name(english:"EulerOS 2.0 SP3 : freerdp (EulerOS-SA-2019-2580)");

  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 freerdp packages installed, the
EulerOS installation on the remote host is affected by the following
vulnerabilities :

  - An exploitable code execution vulnerability exists in
    the RDP receive functionality of FreeRDP
    2.0.0-beta1+android11. A specially crafted server
    response can cause an out-of-bounds write resulting in
    an exploitable condition. An attacker can compromise
    the server or use a man in the middle to trigger this
    vulnerability.(CVE-2017-2835)

  - An exploitable denial of service vulnerability exists
    within the handling of challenge packets in FreeRDP
    2.0.0-beta1+android11. A specially crafted challenge
    packet can cause the program termination leading to a
    denial of service condition. An attacker can compromise
    the server or use man in the middle to trigger this
    vulnerability.(CVE-2017-2838)

  - An exploitable denial of service vulnerability exists
    within the handling of challenge packets in FreeRDP
    2.0.0-beta1+android11. A specially crafted challenge
    packet can cause the program termination leading to a
    denial of service condition. An attacker can compromise
    the server or use man in the middle to trigger this
    vulnerability.(CVE-2017-2839)

  - An exploitable denial of service vulnerability exists
    within the handling of security data in FreeRDP
    2.0.0-beta1+android11. A specially crafted challenge
    packet can cause the program termination leading to a
    denial of service condition. An attacker can compromise
    the server or use man in the middle to trigger this
    vulnerability.(CVE-2017-2837)

  - An exploitable denial of service vulnerability exists
    within the reading of proprietary server certificates
    in FreeRDP 2.0.0-beta1+android11. A specially crafted
    challenge packet can cause the program termination
    leading to a denial of service condition. An attacker
    can compromise the server or use man in the middle to
    trigger this vulnerability.(CVE-2017-2836)

  - FreeRDP FreeRDP 2.0.0-rc3 released version before
    commit 205c612820dac644d665b5bb1cdf437dc5ca01e3
    contains a Other/Unknown vulnerability in
    channels/drdynvc/client/drdynvc_main.c,
    drdynvc_process_capability_request that can result in
    The RDP server can read the client's memory.. This
    attack appear to be exploitable via RDPClient must
    connect the rdp server with echo option. This
    vulnerability appears to have been fixed in after
    commit
    205c612820dac644d665b5bb1cdf437dc5ca01e3.(CVE-2018-1000
    852)

  - Integer overflow in the license_read_scope_list
    function in libfreerdp/core/license.c in FreeRDP
    through 1.0.2 allows remote RDP servers to cause a
    denial of service (application crash) or possibly have
    unspecified other impact via a large ScopeCount value
    in a Scope List in a Server License Request
    packet.(CVE-2014-0791)

  - Multiple integer overflows in client/X11/xf_graphics.c
    in FreeRDP allow remote attackers to have an
    unspecified impact via the width and height to the (1)
    xf_Pointer_New or (2) xf_Bitmap_Decompress function,
    which causes an incorrect amount of memory to be
    allocated.(CVE-2014-0250)

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-2580
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?7777099f");
  script_set_attribute(attribute:"solution", value:
"Update the affected freerdp packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
  script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2014-0250");
  script_set_attribute(attribute:"cvss3_score_source", value:"CVE-2017-2835");

  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");

  script_set_attribute(attribute:"patch_publication_date", value:"2019/12/18");
  script_set_attribute(attribute:"plugin_publication_date", value:"2019/12/19");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:freerdp");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:freerdp-libs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:freerdp-plugins");
  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-2024 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 = ["freerdp-1.0.2-6.1.h4",
        "freerdp-libs-1.0.2-6.1.h4",
        "freerdp-plugins-1.0.2-6.1.h4"];

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_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, "freerdp");
}
VendorProductVersionCPE
huaweieulerosfreerdpp-cpe:/a:huawei:euleros:freerdp
huaweieulerosfreerdp-libsp-cpe:/a:huawei:euleros:freerdp-libs
huaweieulerosfreerdp-pluginsp-cpe:/a:huawei:euleros:freerdp-plugins
huaweieuleros2.0cpe:/o:huawei:euleros:2.0