Lucene search

K
nessusThis script is Copyright (C) 2021-2024 and is owned by Tenable, Inc. or an Affiliate thereof.EULEROS_SA-2021-1188.NASL
HistoryFeb 04, 2021 - 12:00 a.m.

EulerOS 2.0 SP5 : freerdp (EulerOS-SA-2021-1188)

2021-02-0400:00:00
This script is Copyright (C) 2021-2024 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
20

7.1 High

AI Score

Confidence

Low

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

  • In FreeRDP after 1.0 and before 2.0.0, there is an out-of-bound read in in update_read_bitmap_data that allows client memory to be read to an image buffer. The result displayed on screen as colour.(CVE-2020-11045)

  • libfreerdp/gdi/region.c in FreeRDP versions > 1.0 through 2.0.0-rc4 has an Integer Overflow.(CVE-2020-11523)

  • In FreeRDP before version 2.1.2, there is a global OOB read in update_read_cache_bitmap_v3_order. As a workaround, one can disable bitmap cache with
    -bitmap-cache (default). This is fixed in version 2.1.2.(CVE-2020-11096)

  • An exploitable code execution vulnerability exists in the authentication 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 attack to trigger this vulnerability.(CVE-2017-2834)

  • 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 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)

  • 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 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)

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(146158);
  script_version("1.3");
  script_set_attribute(attribute:"plugin_modification_date", value:"2024/01/23");

  script_cve_id(
    "CVE-2017-2834",
    "CVE-2017-2835",
    "CVE-2017-2836",
    "CVE-2017-2837",
    "CVE-2017-2838",
    "CVE-2017-2839",
    "CVE-2020-11045",
    "CVE-2020-11096",
    "CVE-2020-11523"
  );

  script_name(english:"EulerOS 2.0 SP5 : freerdp (EulerOS-SA-2021-1188)");

  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 :

  - In FreeRDP after 1.0 and before 2.0.0, there is an
    out-of-bound read in in update_read_bitmap_data that
    allows client memory to be read to an image buffer. The
    result displayed on screen as colour.(CVE-2020-11045)

  - libfreerdp/gdi/region.c in FreeRDP versions > 1.0
    through 2.0.0-rc4 has an Integer
    Overflow.(CVE-2020-11523)

  - In FreeRDP before version 2.1.2, there is a global OOB
    read in update_read_cache_bitmap_v3_order. As a
    workaround, one can disable bitmap cache with
    -bitmap-cache (default). This is fixed in version
    2.1.2.(CVE-2020-11096)

  - An exploitable code execution vulnerability exists in
    the authentication 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 attack to trigger
    this vulnerability.(CVE-2017-2834)

  - 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 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)

  - 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 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)

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-2021-1188
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?4812cbd7");
  script_set_attribute(attribute:"solution", value:
"Update the affected freerdp packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P");
  script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV: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-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:"2021/02/03");
  script_set_attribute(attribute:"plugin_publication_date", value:"2021/02/04");

  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) 2021-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 !~ "^(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 = ["freerdp-1.0.2-15.h11.eulerosv2r7",
        "freerdp-libs-1.0.2-15.h11.eulerosv2r7",
        "freerdp-plugins-1.0.2-15.h11.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, "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