The remote Ubuntu 16.04 ESM host has packages installed that are affected by multiple vulnerabilities as referenced in the USN-5308-1 advisory.
In libssh2 before 1.9.0, kex_method_diffie_hellman_group_exchange_sha256_key_exchange in kex.c has an integer overflow that could lead to an out-of-bounds read in the way packets are read from the server. A remote attacker who compromises a SSH server may be able to disclose sensitive information or cause a denial of service condition on the client system when a user connects to the server. This is related to an
_libssh2_check_length mistake, and is different from the various issues fixed in 1.8.1, such as CVE-2019-3855. (CVE-2019-13115)
In libssh2 v1.9.0 and earlier versions, the SSH_MSG_DISCONNECT logic in packet.c has an integer overflow in a bounds check, enabling an attacker to specify an arbitrary (out-of-bounds) offset for a subsequent memory read. A crafted SSH server may be able to disclose sensitive information or cause a denial of service condition on the client system when a user connects to the server. (CVE-2019-17498)
An integer overflow flaw which could lead to an out of bounds write was discovered in libssh2 before 1.8.1 in the way packets are read from the server. A remote attacker who compromises a SSH server may be able to execute code on the client system when a user connects to the server. (CVE-2019-3855)
An integer overflow flaw, which could lead to an out of bounds write, was discovered in libssh2 before 1.8.1 in the way keyboard prompt requests are parsed. A remote attacker who compromises a SSH server may be able to execute code on the client system when a user connects to the server. (CVE-2019-3856)
An integer overflow flaw which could lead to an out of bounds write was discovered in libssh2 before 1.8.1 in the way SSH_MSG_CHANNEL_REQUEST packets with an exit signal are parsed. A remote attacker who compromises a SSH server may be able to execute code on the client system when a user connects to the server. (CVE-2019-3857)
An out of bounds read flaw was discovered in libssh2 before 1.8.1 when a specially crafted SFTP packet is received from the server. A remote attacker who compromises a SSH server may be able to cause a Denial of Service or read data in the client memory. (CVE-2019-3858)
An out of bounds read flaw was discovered in libssh2 before 1.8.1 in the _libssh2_packet_require and
_libssh2_packet_requirev functions. A remote attacker who compromises a SSH server may be able to cause a Denial of Service or read data in the client memory. (CVE-2019-3859)
An out of bounds read flaw was discovered in libssh2 before 1.8.1 in the way SFTP packets with empty payloads are parsed. A remote attacker who compromises a SSH server may be able to cause a Denial of Service or read data in the client memory. (CVE-2019-3860)
An out of bounds read flaw was discovered in libssh2 before 1.8.1 in the way SSH packets with a padding length value greater than the packet length are parsed. A remote attacker who compromises a SSH server may be able to cause a Denial of Service or read data in the client memory. (CVE-2019-3861)
An out of bounds read flaw was discovered in libssh2 before 1.8.1 in the way SSH_MSG_CHANNEL_REQUEST packets with an exit status message and no payload are parsed. A remote attacker who compromises a SSH server may be able to cause a Denial of Service or read data in the client memory. (CVE-2019-3862)
A flaw was found in libssh2 before 1.8.1. A server could send a multiple keyboard interactive response messages whose total length are greater than unsigned char max characters. This value is used as an index to copy memory causing in an out of bounds memory write error. (CVE-2019-3863)
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 Ubuntu Security Notice USN-5308-1. The text
# itself is copyright (C) Canonical, Inc. See
# <https://ubuntu.com/security/notices>. Ubuntu(R) is a registered
# trademark of Canonical, Inc.
##
include('compat.inc');
if (description)
{
script_id(183694);
script_version("1.0");
script_set_attribute(attribute:"plugin_modification_date", value:"2023/10/23");
script_cve_id(
"CVE-2019-3855",
"CVE-2019-3856",
"CVE-2019-3857",
"CVE-2019-3858",
"CVE-2019-3859",
"CVE-2019-3860",
"CVE-2019-3861",
"CVE-2019-3862",
"CVE-2019-3863",
"CVE-2019-13115",
"CVE-2019-17498"
);
script_xref(name:"USN", value:"5308-1");
script_name(english:"Ubuntu 16.04 ESM : libssh2 vulnerabilities (USN-5308-1)");
script_set_attribute(attribute:"synopsis", value:
"The remote Ubuntu host is missing one or more security updates.");
script_set_attribute(attribute:"description", value:
"The remote Ubuntu 16.04 ESM host has packages installed that are affected by multiple vulnerabilities as referenced in
the USN-5308-1 advisory.
- In libssh2 before 1.9.0, kex_method_diffie_hellman_group_exchange_sha256_key_exchange in kex.c has an
integer overflow that could lead to an out-of-bounds read in the way packets are read from the server. A
remote attacker who compromises a SSH server may be able to disclose sensitive information or cause a
denial of service condition on the client system when a user connects to the server. This is related to an
_libssh2_check_length mistake, and is different from the various issues fixed in 1.8.1, such as
CVE-2019-3855. (CVE-2019-13115)
- In libssh2 v1.9.0 and earlier versions, the SSH_MSG_DISCONNECT logic in packet.c has an integer overflow
in a bounds check, enabling an attacker to specify an arbitrary (out-of-bounds) offset for a subsequent
memory read. A crafted SSH server may be able to disclose sensitive information or cause a denial of
service condition on the client system when a user connects to the server. (CVE-2019-17498)
- An integer overflow flaw which could lead to an out of bounds write was discovered in libssh2 before 1.8.1
in the way packets are read from the server. A remote attacker who compromises a SSH server may be able to
execute code on the client system when a user connects to the server. (CVE-2019-3855)
- An integer overflow flaw, which could lead to an out of bounds write, was discovered in libssh2 before
1.8.1 in the way keyboard prompt requests are parsed. A remote attacker who compromises a SSH server may
be able to execute code on the client system when a user connects to the server. (CVE-2019-3856)
- An integer overflow flaw which could lead to an out of bounds write was discovered in libssh2 before 1.8.1
in the way SSH_MSG_CHANNEL_REQUEST packets with an exit signal are parsed. A remote attacker who
compromises a SSH server may be able to execute code on the client system when a user connects to the
server. (CVE-2019-3857)
- An out of bounds read flaw was discovered in libssh2 before 1.8.1 when a specially crafted SFTP packet is
received from the server. A remote attacker who compromises a SSH server may be able to cause a Denial of
Service or read data in the client memory. (CVE-2019-3858)
- An out of bounds read flaw was discovered in libssh2 before 1.8.1 in the _libssh2_packet_require and
_libssh2_packet_requirev functions. A remote attacker who compromises a SSH server may be able to cause a
Denial of Service or read data in the client memory. (CVE-2019-3859)
- An out of bounds read flaw was discovered in libssh2 before 1.8.1 in the way SFTP packets with empty
payloads are parsed. A remote attacker who compromises a SSH server may be able to cause a Denial of
Service or read data in the client memory. (CVE-2019-3860)
- An out of bounds read flaw was discovered in libssh2 before 1.8.1 in the way SSH packets with a padding
length value greater than the packet length are parsed. A remote attacker who compromises a SSH server may
be able to cause a Denial of Service or read data in the client memory. (CVE-2019-3861)
- An out of bounds read flaw was discovered in libssh2 before 1.8.1 in the way SSH_MSG_CHANNEL_REQUEST
packets with an exit status message and no payload are parsed. A remote attacker who compromises a SSH
server may be able to cause a Denial of Service or read data in the client memory. (CVE-2019-3862)
- A flaw was found in libssh2 before 1.8.1. A server could send a multiple keyboard interactive response
messages whose total length are greater than unsigned char max characters. This value is used as an index
to copy memory causing in an out of bounds memory write error. (CVE-2019-3863)
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:"https://ubuntu.com/security/notices/USN-5308-1");
script_set_attribute(attribute:"solution", value:
"Update the affected libssh2-1 and / or libssh2-1-dev packages.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:C/I:C/A:C");
script_set_cvss_temporal_vector("CVSS2#E:F/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:N/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:F/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2019-3855");
script_set_attribute(attribute:"cvss3_score_source", value:"CVE-2019-3862");
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:"2019/03/18");
script_set_attribute(attribute:"patch_publication_date", value:"2022/03/07");
script_set_attribute(attribute:"plugin_publication_date", value:"2023/10/23");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:16.04:-:esm");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libssh2-1");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libssh2-1-dev");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Ubuntu Local Security Checks");
script_copyright(english:"Ubuntu Security Notice (C) 2023 Canonical, Inc. / NASL script (C) 2023 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info.nasl");
script_require_keys("Host/cpu", "Host/Ubuntu", "Host/Ubuntu/release", "Host/Debian/dpkg-l");
exit(0);
}
include('debian_package.inc');
if ( ! get_kb_item('Host/local_checks_enabled') ) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_release = get_kb_item('Host/Ubuntu/release');
if ( isnull(os_release) ) audit(AUDIT_OS_NOT, 'Ubuntu');
os_release = chomp(os_release);
if (! ('16.04' >< os_release)) audit(AUDIT_OS_NOT, 'Ubuntu 16.04', 'Ubuntu ' + os_release);
if ( ! get_kb_item('Host/Debian/dpkg-l') ) 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$" && 's390' >!< cpu && 'aarch64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Ubuntu', cpu);
var pkgs = [
{'osver': '16.04', 'pkgname': 'libssh2-1', 'pkgver': '1.5.0-2ubuntu0.1+esm1'},
{'osver': '16.04', 'pkgname': 'libssh2-1-dev', 'pkgver': '1.5.0-2ubuntu0.1+esm1'}
];
var flag = 0;
foreach package_array ( pkgs ) {
var osver = NULL;
var pkgname = NULL;
var pkgver = NULL;
if (!empty_or_null(package_array['osver'])) osver = package_array['osver'];
if (!empty_or_null(package_array['pkgname'])) pkgname = package_array['pkgname'];
if (!empty_or_null(package_array['pkgver'])) pkgver = package_array['pkgver'];
if (osver && pkgname && pkgver) {
if (ubuntu_check(osver:osver, pkgname:pkgname, pkgver:pkgver)) flag++;
}
}
if (flag)
{
security_report_v4(
port : 0,
severity : SECURITY_HOLE,
extra : ubuntu_report_get()
);
exit(0);
}
else
{
var tested = ubuntu_pkg_tests_get();
if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'libssh2-1 / libssh2-1-dev');
}
Vendor | Product | Version | CPE |
---|---|---|---|
canonical | ubuntu_linux | 16.04 | cpe:/o:canonical:ubuntu_linux:16.04:-:esm |
canonical | ubuntu_linux | libssh2-1 | p-cpe:/a:canonical:ubuntu_linux:libssh2-1 |
canonical | ubuntu_linux | libssh2-1-dev | p-cpe:/a:canonical:ubuntu_linux:libssh2-1-dev |
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13115
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-17498
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-3855
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-3856
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-3857
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-3858
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-3859
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-3860
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-3861
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-3862
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-3863
ubuntu.com/security/notices/USN-5308-1