6.5 Medium
CVSS2
Attack Vector
NETWORK
Attack Complexity
LOW
Authentication
SINGLE
Confidentiality Impact
PARTIAL
Integrity Impact
PARTIAL
Availability Impact
PARTIAL
AV:N/AC:L/Au:S/C:P/I:P/A:P
8.3 High
CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
LOW
Integrity Impact
HIGH
Availability Impact
HIGH
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H
0.01 Low
EPSS
Percentile
84.0%
Heikki Linnakangas discovered that PostgreSQL incorrectly handled certain nested CASE/WHEN expressions. A remote attacker could possibly use this issue to cause PostgreSQL to crash, resulting in a denial of service. (CVE-2016-5423)
Nathan Bossart discovered that PostgreSQL incorrectly handled special characters in database and role names. A remote attacker could possibly use this issue to escalate privileges. (CVE-2016-5424).
Note that Tenable Network Security has extracted the preceding description block directly from the Ubuntu security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Ubuntu Security Notice USN-3066-1. The text
# itself is copyright (C) Canonical, Inc. See
# <http://www.ubuntu.com/usn/>. Ubuntu(R) is a registered
# trademark of Canonical, Inc.
#
include('compat.inc');
if (description)
{
script_id(93047);
script_version("2.12");
script_set_attribute(attribute:"plugin_modification_date", value:"2023/10/20");
script_cve_id("CVE-2016-5423", "CVE-2016-5424");
script_xref(name:"USN", value:"3066-1");
script_name(english:"Ubuntu 14.04 LTS / 16.04 LTS : PostgreSQL vulnerabilities (USN-3066-1)");
script_set_attribute(attribute:"synopsis", value:
"The remote Ubuntu host is missing one or more security updates.");
script_set_attribute(attribute:"description", value:
"Heikki Linnakangas discovered that PostgreSQL incorrectly handled
certain nested CASE/WHEN expressions. A remote attacker could possibly
use this issue to cause PostgreSQL to crash, resulting in a denial of
service. (CVE-2016-5423)
Nathan Bossart discovered that PostgreSQL incorrectly handled special
characters in database and role names. A remote attacker could
possibly use this issue to escalate privileges. (CVE-2016-5424).
Note that Tenable Network Security has extracted the preceding
description block directly from the Ubuntu security advisory. Tenable
has attempted to automatically clean and format it as much as possible
without introducing additional issues.");
script_set_attribute(attribute:"see_also", value:"https://ubuntu.com/security/notices/USN-3066-1");
script_set_attribute(attribute:"solution", value:
"Update the affected packages.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:S/C:P/I:P/A:P");
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:N/S:U/C:L/I:H/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2016-5423");
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:"2016/12/09");
script_set_attribute(attribute:"patch_publication_date", value:"2016/08/18");
script_set_attribute(attribute:"plugin_publication_date", value:"2016/08/19");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:postgresql-9.3");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:postgresql-9.5");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:postgresql-client-9.3");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:postgresql-client-9.5");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:postgresql-contrib-9.3");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:postgresql-contrib-9.5");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:postgresql-plperl-9.3");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:postgresql-plperl-9.5");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:postgresql-plpython-9.3");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:postgresql-plpython-9.5");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:postgresql-plpython3-9.3");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:postgresql-plpython3-9.5");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:postgresql-pltcl-9.3");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:postgresql-pltcl-9.5");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:postgresql-server-dev-9.3");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:postgresql-server-dev-9.5");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:14.04:-:lts");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:16.04:-:lts");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libecpg-compat3");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libecpg-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libecpg6");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpgtypes3");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpq-dev");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libpq5");
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) 2016-2023 Canonical, Inc. / NASL script (C) 2016-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 (! ('14.04' >< os_release || '16.04' >< os_release)) audit(AUDIT_OS_NOT, 'Ubuntu 14.04 / 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': '14.04', 'pkgname': 'libecpg-compat3', 'pkgver': '9.3.14-0ubuntu0.14.04'},
{'osver': '14.04', 'pkgname': 'libecpg-dev', 'pkgver': '9.3.14-0ubuntu0.14.04'},
{'osver': '14.04', 'pkgname': 'libecpg6', 'pkgver': '9.3.14-0ubuntu0.14.04'},
{'osver': '14.04', 'pkgname': 'libpgtypes3', 'pkgver': '9.3.14-0ubuntu0.14.04'},
{'osver': '14.04', 'pkgname': 'libpq-dev', 'pkgver': '9.3.14-0ubuntu0.14.04'},
{'osver': '14.04', 'pkgname': 'libpq5', 'pkgver': '9.3.14-0ubuntu0.14.04'},
{'osver': '14.04', 'pkgname': 'postgresql-9.3', 'pkgver': '9.3.14-0ubuntu0.14.04'},
{'osver': '14.04', 'pkgname': 'postgresql-client-9.3', 'pkgver': '9.3.14-0ubuntu0.14.04'},
{'osver': '14.04', 'pkgname': 'postgresql-contrib-9.3', 'pkgver': '9.3.14-0ubuntu0.14.04'},
{'osver': '14.04', 'pkgname': 'postgresql-plperl-9.3', 'pkgver': '9.3.14-0ubuntu0.14.04'},
{'osver': '14.04', 'pkgname': 'postgresql-plpython-9.3', 'pkgver': '9.3.14-0ubuntu0.14.04'},
{'osver': '14.04', 'pkgname': 'postgresql-plpython3-9.3', 'pkgver': '9.3.14-0ubuntu0.14.04'},
{'osver': '14.04', 'pkgname': 'postgresql-pltcl-9.3', 'pkgver': '9.3.14-0ubuntu0.14.04'},
{'osver': '14.04', 'pkgname': 'postgresql-server-dev-9.3', 'pkgver': '9.3.14-0ubuntu0.14.04'},
{'osver': '16.04', 'pkgname': 'libecpg-compat3', 'pkgver': '9.5.4-0ubuntu0.16.04'},
{'osver': '16.04', 'pkgname': 'libecpg-dev', 'pkgver': '9.5.4-0ubuntu0.16.04'},
{'osver': '16.04', 'pkgname': 'libecpg6', 'pkgver': '9.5.4-0ubuntu0.16.04'},
{'osver': '16.04', 'pkgname': 'libpgtypes3', 'pkgver': '9.5.4-0ubuntu0.16.04'},
{'osver': '16.04', 'pkgname': 'libpq-dev', 'pkgver': '9.5.4-0ubuntu0.16.04'},
{'osver': '16.04', 'pkgname': 'libpq5', 'pkgver': '9.5.4-0ubuntu0.16.04'},
{'osver': '16.04', 'pkgname': 'postgresql-9.5', 'pkgver': '9.5.4-0ubuntu0.16.04'},
{'osver': '16.04', 'pkgname': 'postgresql-client-9.5', 'pkgver': '9.5.4-0ubuntu0.16.04'},
{'osver': '16.04', 'pkgname': 'postgresql-contrib-9.5', 'pkgver': '9.5.4-0ubuntu0.16.04'},
{'osver': '16.04', 'pkgname': 'postgresql-plperl-9.5', 'pkgver': '9.5.4-0ubuntu0.16.04'},
{'osver': '16.04', 'pkgname': 'postgresql-plpython-9.5', 'pkgver': '9.5.4-0ubuntu0.16.04'},
{'osver': '16.04', 'pkgname': 'postgresql-plpython3-9.5', 'pkgver': '9.5.4-0ubuntu0.16.04'},
{'osver': '16.04', 'pkgname': 'postgresql-pltcl-9.5', 'pkgver': '9.5.4-0ubuntu0.16.04'},
{'osver': '16.04', 'pkgname': 'postgresql-server-dev-9.5', 'pkgver': '9.5.4-0ubuntu0.16.04'}
];
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_WARNING,
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, 'libecpg-compat3 / libecpg-dev / libecpg6 / libpgtypes3 / libpq-dev / etc');
}
Vendor | Product | Version | CPE |
---|---|---|---|
canonical | ubuntu_linux | postgresql-9.3 | p-cpe:/a:canonical:ubuntu_linux:postgresql-9.3 |
canonical | ubuntu_linux | postgresql-9.5 | p-cpe:/a:canonical:ubuntu_linux:postgresql-9.5 |
canonical | ubuntu_linux | postgresql-client-9.3 | p-cpe:/a:canonical:ubuntu_linux:postgresql-client-9.3 |
canonical | ubuntu_linux | postgresql-client-9.5 | p-cpe:/a:canonical:ubuntu_linux:postgresql-client-9.5 |
canonical | ubuntu_linux | postgresql-contrib-9.3 | p-cpe:/a:canonical:ubuntu_linux:postgresql-contrib-9.3 |
canonical | ubuntu_linux | postgresql-contrib-9.5 | p-cpe:/a:canonical:ubuntu_linux:postgresql-contrib-9.5 |
canonical | ubuntu_linux | postgresql-plperl-9.3 | p-cpe:/a:canonical:ubuntu_linux:postgresql-plperl-9.3 |
canonical | ubuntu_linux | postgresql-plperl-9.5 | p-cpe:/a:canonical:ubuntu_linux:postgresql-plperl-9.5 |
canonical | ubuntu_linux | postgresql-plpython-9.3 | p-cpe:/a:canonical:ubuntu_linux:postgresql-plpython-9.3 |
canonical | ubuntu_linux | postgresql-plpython-9.5 | p-cpe:/a:canonical:ubuntu_linux:postgresql-plpython-9.5 |
6.5 Medium
CVSS2
Attack Vector
NETWORK
Attack Complexity
LOW
Authentication
SINGLE
Confidentiality Impact
PARTIAL
Integrity Impact
PARTIAL
Availability Impact
PARTIAL
AV:N/AC:L/Au:S/C:P/I:P/A:P
8.3 High
CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
LOW
Integrity Impact
HIGH
Availability Impact
HIGH
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H
0.01 Low
EPSS
Percentile
84.0%