| Reporter | Title | Published | Views | Family All 805 |
|---|---|---|---|---|
| Security fix for the ALT Linux 9 package freerdp version 2.4.1-alt1 | 1 Nov 202100:00 | – | altlinux | |
| Security fix for the ALT Linux 9 package freerdp version 2.1.0-alt1 | 13 May 202000:00 | – | altlinux | |
| Security fix for the ALT Linux 9 package freerdp version 2.0.0-alt5 | 15 Apr 202000:00 | – | altlinux | |
| Security fix for the ALT Linux 9 package freerdp version 2.1.2-alt1 | 25 Jun 202000:00 | – | altlinux | |
| Security fix for the ALT Linux 9 package freerdp version 2.2.0-alt1 | 23 Jul 202000:00 | – | altlinux | |
| FreeRDP -- multiple vulnerabilities | 10 Apr 202000:00 | – | freebsd | |
| FreeRDP -- Integer overflow in RDPEGFX channel | 25 Jun 202000:00 | – | freebsd | |
| CVE-2020-15103 | 27 Jul 202018:15 | – | attackerkb | |
| Amazon Linux 2022 : freerdp, freerdp-devel, freerdp-libs (ALAS2022-2022-082) | 7 Sep 202200:00 | – | nessus | |
| Amazon Linux 2 : freerdp (ALAS-2020-1516) | 28 Oct 202000:00 | – | nessus |
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The package checks in this plugin were extracted from
# Alibaba Cloud Linux Security Advisory ALINUX3-SA-2022:0002.
##
include('compat.inc');
if (description)
{
script_id(236628);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2025/05/14");
script_cve_id(
"CVE-2020-4030",
"CVE-2020-4033",
"CVE-2020-11018",
"CVE-2020-11019",
"CVE-2020-11038",
"CVE-2020-11039",
"CVE-2020-11040",
"CVE-2020-11041",
"CVE-2020-11043",
"CVE-2020-11058",
"CVE-2020-11085",
"CVE-2020-11086",
"CVE-2020-11087",
"CVE-2020-11088",
"CVE-2020-11089",
"CVE-2020-11095",
"CVE-2020-11096",
"CVE-2020-11097",
"CVE-2020-11098",
"CVE-2020-11099",
"CVE-2020-11522",
"CVE-2020-11525",
"CVE-2020-11526",
"CVE-2020-13396",
"CVE-2020-13397",
"CVE-2020-15103",
"CVE-2021-41159",
"CVE-2021-41160"
);
script_name(english:"Alibaba Cloud Linux 3 : 0002: freerdp (ALINUX3-SA-2022:0002)");
script_set_attribute(attribute:"synopsis", value:
"The remote Alibaba Cloud Linux host is missing one or more security updates.");
script_set_attribute(attribute:"description", value:
"The remote Alibaba Cloud Linux 3 host has packages installed that are affected by multiple vulnerabilities as referenced
in the ALINUX3-SA-2022:0002 advisory.
Package updates are available for Alibaba Cloud Linux 3 that fix the following vulnerabilities:
CVE-2020-11018
In FreeRDP less than or equal to 2.0.0, a possible resource exhaustion vulnerability can be performed.
Malicious clients could trigger out of bound reads causing memory allocation with random size. This has
been fixed in 2.1.0.
CVE-2020-11019
In FreeRDP less than or equal to 2.0.0, when running with logger set to WLOG_TRACE, a possible crash of
application could occur due to a read of an invalid array index. Data could be printed as string to local
terminal. This has been fixed in 2.1.0.
CVE-2020-11038:
In FreeRDP less than or equal to 2.0.0, an Integer Overflow to Buffer Overflow exists. When using /video
redirection, a manipulated server can instruct the client to allocate a buffer with a smaller size than
requested due to an integer overflow in size calculation. With later messages, the server can manipulate
the client to write data out of bound to the previously allocated buffer. This has been patched in 2.1.0.
CVE-2020-11039:
In FreeRDP less than or equal to 2.0.0, when using a manipulated server with USB redirection enabled
(nearly) arbitrary memory can be read and written due to integer overflows in length checks. This has been
patched in 2.1.0.
CVE-2020-11040:
In FreeRDP less than or equal to 2.0.0, there is an out-of-bound data read from memory in
clear_decompress_subcode_rlex, visualized on screen as color. This has been patched in 2.1.0.
CVE-2020-11041:
In FreeRDP less than or equal to 2.0.0, an outside controlled array index is used unchecked for data used
as configuration for sound backend (alsa, oss, pulse, ...). The most likely outcome is a crash of the
client instance followed by no or distorted sound or a session disconnect. If a user cannot upgrade to the
patched version, a workaround is to disable sound for the session. This has been patched in 2.1.0.
CVE-2020-11043:
In FreeRDP less than or equal to 2.0.0, there is an out-of-bounds read in rfx_process_message_tileset.
Invalid data fed to RFX decoder results in garbage on screen (as colors). This has been patched in 2.1.0.
CVE-2020-11058:
In FreeRDP after 1.1 and before 2.0.0, a stream out-of-bounds seek in rdp_read_font_capability_set could
lead to a later out-of-bounds read. As a result, a manipulated client or server might force a disconnect
due to an invalid data read. This has been fixed in 2.0.0.
CVE-2020-11085:
In FreeRDP before 2.1.0, there is an out-of-bounds read in cliprdr_read_format_list. Clipboard format data
read (by client or server) might read data out-of-bounds. This has been fixed in 2.1.0.
CVE-2020-11086:
In FreeRDP less than or equal to 2.0.0, there is an out-of-bound read in
ntlm_read_ntlm_v2_client_challenge that reads up to 28 bytes out-of-bound to an internal structure. This
has been fixed in 2.1.0.
CVE-2020-11087:
In FreeRDP less than or equal to 2.0.0, there is an out-of-bound read in ntlm_read_AuthenticateMessage.
This has been fixed in 2.1.0.
CVE-2020-11088:
In FreeRDP less than or equal to 2.0.0, there is an out-of-bound read in ntlm_read_NegotiateMessage. This
has been fixed in 2.1.0.
CVE-2020-11089:
In FreeRDP before 2.1.0, there is an out-of-bound read in irp functions (parallel_process_irp_create,
serial_process_irp_create, drive_process_irp_write, printer_process_irp_write, rdpei_recv_pdu,
serial_process_irp_write). This has been fixed in 2.1.0.
CVE-2020-11095:
In FreeRDP before version 2.1.2, an out of bound reads occurs resulting in accessing a memory location
that is outside of the boundaries of the static array PRIMARY_DRAWING_ORDER_FIELD_BYTES. This is fixed in
version 2.1.2.
CVE-2020-11096:
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-11097:
In FreeRDP before version 2.1.2, an out of bounds read occurs resulting in accessing a memory location
that is outside of the boundaries of the static array PRIMARY_DRAWING_ORDER_FIELD_BYTES. This is fixed in
version 2.1.2.
CVE-2020-11098:
In FreeRDP before version 2.1.2, there is an out-of-bound read in glyph_cache_put. This affects all
FreeRDP clients with `+glyph-cache` option enabled This is fixed in version 2.1.2.
CVE-2020-11099:
In FreeRDP before version 2.1.2, there is an out of bounds read in
license_read_new_or_upgrade_license_packet. A manipulated license packet can lead to out of bound reads to
an internal buffer. This is fixed in version 2.1.2.
CVE-2020-11522:
libfreerdp/gdi/gdi.c in FreeRDP > 1.0 through 2.0.0-rc4 has an Out-of-bounds Read.
CVE-2020-11525:
libfreerdp/cache/bitmap.c in FreeRDP versions > 1.0 through 2.0.0-rc4 has an Out of bounds read.
CVE-2020-11526:
libfreerdp/core/update.c in FreeRDP versions > 1.1 through 2.0.0-rc4 has an Out-of-bounds Read.
CVE-2020-13396:
An issue was discovered in FreeRDP before 2.1.1. An out-of-bounds (OOB) read vulnerability has been
detected in ntlm_read_ChallengeMessage in winpr/libwinpr/sspi/NTLM/ntlm_message.c.
CVE-2020-13397:
An issue was discovered in FreeRDP before 2.1.1. An out-of-bounds (OOB) read vulnerability has been
detected in security_fips_decrypt in libfreerdp/core/security.c due to an uninitialized value.
CVE-2020-15103:
In FreeRDP less than or equal to 2.1.2, an integer overflow exists due to missing input sanitation in
rdpegfx channel. All FreeRDP clients are affected. The input rectangles from the server are not checked
against local surface coordinates and blindly accepted. A malicious server can send data that will crash
the client later on (invalid length arguments to a `memcpy`) This has been fixed in 2.2.0. As a
workaround, stop using command line arguments /gfx, /gfx-h264 and /network:auto
CVE-2020-4030:
In FreeRDP before version 2.1.2, there is an out of bounds read in TrioParse. Logging might bypass string
length checks due to an integer overflow. This is fixed in version 2.1.2.
CVE-2020-4033:
In FreeRDP before version 2.1.2, there is an out of bounds read in RLEDECOMPRESS. All FreeRDP based
clients with sessions with color depth < 32 are affected. This is fixed in version 2.1.2.
CVE-2021-41159:
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license.
All FreeRDP clients prior to version 2.4.1 using gateway connections (`/gt:rpc`) fail to validate input
data. A malicious gateway might allow client memory to be written out of bounds. This issue has been
resolved in version 2.4.1. If you are unable to update then use `/gt:http` rather than /gt:rdp connections
if possible or use a direct connection without a gateway.
CVE-2021-41160:
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license.
In affected versions a malicious server might trigger out of bound writes in a connected client.
Connections using GDI or SurfaceCommands to send graphics updates to the client might send `0`
width/height or out of bound rectangles to trigger out of bound writes. With `0` width or heigth the
memory allocation will be `0` but the missing bounds checks allow writing to the pointer at this (not
allocated) region. This issue has been patched in FreeRDP 2.4.1.
Tenable has extracted the preceding description block directly from the Alibaba Cloud Linux security advisory.
Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
script_set_attribute(attribute:"see_also", value:"http://mirrors.aliyun.com/alinux/3/cve/alinux3-sa-20220002.xml");
script_set_attribute(attribute:"solution", value:
"Update the affected 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:L/PR:N/UI:R/S:U/C:H/I:H/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2021-41160");
script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
script_set_attribute(attribute:"exploit_available", value:"true");
script_set_attribute(attribute:"vuln_publication_date", value:"2020/05/12");
script_set_attribute(attribute:"patch_publication_date", value:"2022/01/11");
script_set_attribute(attribute:"plugin_publication_date", value:"2025/05/14");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:freerdp");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:freerdp-debuginfo");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:freerdp-debugsource");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:freerdp-devel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:freerdp-libs");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:freerdp-libs-debuginfo");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:libwinpr");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:libwinpr-debuginfo");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:libwinpr-devel");
script_set_attribute(attribute:"cpe", value:"cpe:/o:alibabacloud:alibaba_cloud_linux_3");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Alibaba Cloud Linux Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2025 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info.nasl");
script_require_keys("Host/local_checks_enabled", "Host/Alibaba/release", "Host/Alibaba/rpm-list", "Host/cpu");
exit(0);
}
include('rpm.inc');
if (!get_kb_item('Host/local_checks_enabled')) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_release = get_kb_item('Host/Alibaba/release');
if (isnull(os_release) || 'Alibaba Cloud Linux' >!< os_release) audit(AUDIT_OS_NOT, 'Alibaba Cloud Linux');
var os_ver = pregmatch(pattern: "Alibaba Cloud Linux release ([0-9]+(\.[0-9]+)?)", string:os_release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, 'Alibaba Cloud Linux');
os_ver = os_ver[1];
if (! preg(pattern:"^3([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, 'Alibaba Cloud Linux 3.x', 'Alibaba Cloud Linux ' + os_ver);
if (!get_kb_item('Host/Alibaba/rpm-list')) audit(AUDIT_PACKAGE_LIST_MISSING);
var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('aarch64' >!< cpu && 'x86_64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Alibaba Cloud Linux', cpu);
var pkgs = [
{'reference':'freerdp-2.2.0-7.al8', 'cpu':'aarch64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'freerdp-2.2.0-7.al8', 'cpu':'x86_64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'freerdp-debuginfo-2.2.0-7.al8', 'cpu':'aarch64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'freerdp-debuginfo-2.2.0-7.al8', 'cpu':'x86_64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'freerdp-debugsource-2.2.0-7.al8', 'cpu':'aarch64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'freerdp-debugsource-2.2.0-7.al8', 'cpu':'x86_64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'freerdp-devel-2.2.0-7.al8', 'cpu':'aarch64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'freerdp-devel-2.2.0-7.al8', 'cpu':'x86_64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'freerdp-libs-2.2.0-7.al8', 'cpu':'aarch64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'freerdp-libs-2.2.0-7.al8', 'cpu':'x86_64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'freerdp-libs-debuginfo-2.2.0-7.al8', 'cpu':'aarch64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'freerdp-libs-debuginfo-2.2.0-7.al8', 'cpu':'x86_64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'libwinpr-2.2.0-7.al8', 'cpu':'aarch64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'libwinpr-2.2.0-7.al8', 'cpu':'x86_64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'libwinpr-debuginfo-2.2.0-7.al8', 'cpu':'aarch64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'libwinpr-debuginfo-2.2.0-7.al8', 'cpu':'x86_64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'libwinpr-devel-2.2.0-7.al8', 'cpu':'aarch64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'libwinpr-devel-2.2.0-7.al8', 'cpu':'x86_64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'}
];
var flag = 0;
foreach var package_array ( pkgs ) {
var reference = NULL;
var _release = NULL;
var sp = NULL;
var _cpu = NULL;
var el_string = NULL;
var rpm_spec_vers_cmp = NULL;
var epoch = NULL;
var allowmaj = NULL;
var exists_check = NULL;
var cves = NULL;
if (!empty_or_null(package_array['reference'])) reference = package_array['reference'];
if (!empty_or_null(package_array['release'])) _release = 'Alibaba Linux ' + package_array['release'];
if (!empty_or_null(package_array['sp'])) sp = package_array['sp'];
if (!empty_or_null(package_array['cpu'])) _cpu = package_array['cpu'];
if (!empty_or_null(package_array['el_string'])) el_string = package_array['el_string'];
if (!empty_or_null(package_array['rpm_spec_vers_cmp'])) rpm_spec_vers_cmp = package_array['rpm_spec_vers_cmp'];
if (!empty_or_null(package_array['epoch'])) epoch = package_array['epoch'];
if (!empty_or_null(package_array['allowmaj'])) allowmaj = package_array['allowmaj'];
if (!empty_or_null(package_array['exists_check'])) exists_check = package_array['exists_check'];
if (!empty_or_null(package_array['cves'])) cves = package_array['cves'];
if (reference && _release && (!exists_check || rpm_exists(release:_release, rpm:exists_check))) {
if (rpm_check(release:_release, sp:sp, cpu:_cpu, reference:reference, epoch:epoch, el_string:el_string, rpm_spec_vers_cmp:rpm_spec_vers_cmp, allowmaj:allowmaj, cves:cves)) flag++;
}
}
if (flag)
{
security_report_v4(
port : 0,
severity : SECURITY_WARNING,
extra : rpm_report_get()
);
exit(0);
}
else
{
var tested = pkg_tests_get();
if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'freerdp / freerdp-debuginfo / freerdp-debugsource / freerdp-devel / etc');
}
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation