CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
REQUIRED
Scope
UNCHANGED
Confidentiality Impact
HIGH
Integrity Impact
NONE
Availability Impact
NONE
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N
EPSS
Percentile
55.0%
The version of freerdp installed on the remote host is prior to 2.9.0. It is, therefore, affected by multiple vulnerabilities as referenced in the SSA:2022-321-01 advisory.
FreeRDP is a free remote desktop protocol library and clients. In affected versions there is an out of bound read in ZGFX decoder component of FreeRDP. A malicious server can trick a FreeRDP based client to read out of bound data and try to decode it likely resulting in a crash. This issue has been addressed in the 2.9.0 release. Users are advised to upgrade. (CVE-2022-39316)
FreeRDP is a free remote desktop protocol library and clients. Affected versions of FreeRDP are missing a range check for input offset index in ZGFX decoder. A malicious server can trick a FreeRDP based client to read out of bound data and try to decode it. This issue has been addressed in version 2.9.0. There are no known workarounds for this issue. (CVE-2022-39317)
FreeRDP is a free remote desktop protocol library and clients. Affected versions of FreeRDP are missing input validation in urbdrc
channel. A malicious server can trick a FreeRDP based client to crash with division by zero. This issue has been addressed in version 2.9.0. All users are advised to upgrade. Users unable to upgrade should not use the /usb
redirection switch. (CVE-2022-39318)
FreeRDP is a free remote desktop protocol library and clients. Affected versions of FreeRDP are missing input length validation in the urbdrc
channel. A malicious server can trick a FreeRDP based client to read out of bound data and send it back to the server. This issue has been addressed in version 2.9.0 and all users are advised to upgrade. Users unable to upgrade should not use the /usb
redirection switch.
(CVE-2022-39319)
FreeRDP is a free remote desktop protocol library and clients. Affected versions of FreeRDP may attempt integer addition on too narrow types leads to allocation of a buffer too small holding the data written. A malicious server can trick a FreeRDP based client to read out of bound data and send it back to the server. This issue has been addressed in version 2.9.0 and all users are advised to upgrade. Users unable to upgrade should not use the /usb
redirection switch. (CVE-2022-39320)
FreeRDP is a free remote desktop protocol library and clients. Affected versions of FreeRDP are missing path canonicalization and base path check for drive
channel. A malicious server can trick a FreeRDP based client to read files outside the shared directory. This issue has been addressed in version 2.9.0 and all users are advised to upgrade. Users unable to upgrade should not use the /drive
, /drives
or +home-drive
redirection switch. (CVE-2022-39347)
FreeRDP is a free remote desktop protocol library and clients. Affected versions of FreeRDP are missing input length validation in drive
channel. A malicious server can trick a FreeRDP based client to read out of bound data and send it back to the server. This issue has been addressed in version 2.9.0 and all users are advised to upgrade. Users unable to upgrade should not use the drive redirection channel - command line options /drive
, +drives
or +home-drive
. (CVE-2022-41877)
Note that Nessus has not tested for these issues but has instead relied only on the application’s self-reported version number.
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
#
# The descriptive text and package checks in this plugin were
# extracted from Slackware Security Advisory SSA:2022-321-01. The text
# itself is copyright (C) Slackware Linux, Inc.
##
include('compat.inc');
if (description)
{
script_id(167881);
script_version("1.5");
script_set_attribute(attribute:"plugin_modification_date", value:"2023/03/22");
script_cve_id(
"CVE-2022-39316",
"CVE-2022-39317",
"CVE-2022-39318",
"CVE-2022-39319",
"CVE-2022-39320",
"CVE-2022-39347",
"CVE-2022-41877"
);
script_name(english:"Slackware Linux 15.0 / current freerdp Multiple Vulnerabilities (SSA:2022-321-01)");
script_set_attribute(attribute:"synopsis", value:
"The remote Slackware Linux host is missing a security update to freerdp.");
script_set_attribute(attribute:"description", value:
"The version of freerdp installed on the remote host is prior to 2.9.0. It is, therefore, affected by multiple
vulnerabilities as referenced in the SSA:2022-321-01 advisory.
- FreeRDP is a free remote desktop protocol library and clients. In affected versions there is an out of
bound read in ZGFX decoder component of FreeRDP. A malicious server can trick a FreeRDP based client to
read out of bound data and try to decode it likely resulting in a crash. This issue has been addressed in
the 2.9.0 release. Users are advised to upgrade. (CVE-2022-39316)
- FreeRDP is a free remote desktop protocol library and clients. Affected versions of FreeRDP are missing a
range check for input offset index in ZGFX decoder. A malicious server can trick a FreeRDP based client to
read out of bound data and try to decode it. This issue has been addressed in version 2.9.0. There are no
known workarounds for this issue. (CVE-2022-39317)
- FreeRDP is a free remote desktop protocol library and clients. Affected versions of FreeRDP are missing
input validation in `urbdrc` channel. A malicious server can trick a FreeRDP based client to crash with
division by zero. This issue has been addressed in version 2.9.0. All users are advised to upgrade. Users
unable to upgrade should not use the `/usb` redirection switch. (CVE-2022-39318)
- FreeRDP is a free remote desktop protocol library and clients. Affected versions of FreeRDP are missing
input length validation in the `urbdrc` channel. A malicious server can trick a FreeRDP based client to
read out of bound data and send it back to the server. This issue has been addressed in version 2.9.0 and
all users are advised to upgrade. Users unable to upgrade should not use the `/usb` redirection switch.
(CVE-2022-39319)
- FreeRDP is a free remote desktop protocol library and clients. Affected versions of FreeRDP may attempt
integer addition on too narrow types leads to allocation of a buffer too small holding the data written. A
malicious server can trick a FreeRDP based client to read out of bound data and send it back to the
server. This issue has been addressed in version 2.9.0 and all users are advised to upgrade. Users unable
to upgrade should not use the `/usb` redirection switch. (CVE-2022-39320)
- FreeRDP is a free remote desktop protocol library and clients. Affected versions of FreeRDP are missing
path canonicalization and base path check for `drive` channel. A malicious server can trick a FreeRDP
based client to read files outside the shared directory. This issue has been addressed in version 2.9.0
and all users are advised to upgrade. Users unable to upgrade should not use the `/drive`, `/drives` or
`+home-drive` redirection switch. (CVE-2022-39347)
- FreeRDP is a free remote desktop protocol library and clients. Affected versions of FreeRDP are missing
input length validation in `drive` channel. A malicious server can trick a FreeRDP based client to read
out of bound data and send it back to the server. This issue has been addressed in version 2.9.0 and all
users are advised to upgrade. Users unable to upgrade should not use the drive redirection channel -
command line options `/drive`, `+drives` or `+home-drive`. (CVE-2022-41877)
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:"solution", value:
"Upgrade the affected freerdp package.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:S/C:C/I:N/A:N");
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:L/UI:R/S:U/C:H/I:N/A:N");
script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2022-39347");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"exploit_available", value:"false");
script_set_attribute(attribute:"vuln_publication_date", value:"2022/11/16");
script_set_attribute(attribute:"plugin_publication_date", value:"2022/11/18");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:slackware:slackware_linux:freerdp");
script_set_attribute(attribute:"cpe", value:"cpe:/o:slackware:slackware_linux");
script_set_attribute(attribute:"cpe", value:"cpe:/o:slackware:slackware_linux:15.0");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Slackware Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2022-2023 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info.nasl");
script_require_keys("Host/local_checks_enabled", "Host/Slackware/release", "Host/Slackware/packages");
exit(0);
}
include("slackware.inc");
if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (!get_kb_item("Host/Slackware/release")) audit(AUDIT_OS_NOT, "Slackware");
if (!get_kb_item("Host/Slackware/packages")) audit(AUDIT_PACKAGE_LIST_MISSING);
var cpu = get_kb_item("Host/cpu");
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Slackware", cpu);
var flag = 0;
var constraints = [
{ 'fixed_version' : '2.9.0', 'product' : 'freerdp', 'os_name' : 'Slackware Linux', 'os_version' : '15.0', 'service_pack' : '1_slack15.0', 'arch' : 'i586' },
{ 'fixed_version' : '2.9.0', 'product' : 'freerdp', 'os_name' : 'Slackware Linux', 'os_version' : '15.0', 'service_pack' : '1_slack15.0', 'arch' : 'x86_64' },
{ 'fixed_version' : '2.9.0', 'product' : 'freerdp', 'os_name' : 'Slackware Linux', 'os_version' : 'current', 'service_pack' : '1', 'arch' : 'i586' },
{ 'fixed_version' : '2.9.0', 'product' : 'freerdp', 'os_name' : 'Slackware Linux', 'os_version' : 'current', 'service_pack' : '1', 'arch' : 'x86_64' }
];
foreach constraint (constraints) {
var pkg_arch = constraint['arch'];
var arch = NULL;
if (pkg_arch == "x86_64") {
arch = pkg_arch;
}
if (slackware_check(osver:constraint['os_version'],
arch:arch,
pkgname:constraint['product'],
pkgver:constraint['fixed_version'],
pkgarch:pkg_arch,
pkgnum:constraint['service_pack'])) flag++;
}
if (flag)
{
security_report_v4(
port : 0,
severity : SECURITY_WARNING,
extra : slackware_report_get()
);
exit(0);
}
else audit(AUDIT_HOST_NOT, "affected");
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-39316
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-39317
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-39318
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-39319
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-39320
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-39347
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-41877