3.7 Low
CVSS2
Attack Vector
LOCAL
Attack Complexity
HIGH
Authentication
NONE
Confidentiality Impact
PARTIAL
Integrity Impact
PARTIAL
Availability Impact
PARTIAL
AV:L/AC:H/Au:N/C:P/I:P/A:P
7.5 High
CVSS3
Attack Vector
LOCAL
Attack Complexity
HIGH
Privileges Required
HIGH
User Interaction
NONE
Scope
CHANGED
Confidentiality Impact
HIGH
Integrity Impact
HIGH
Availability Impact
HIGH
CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H
0.001 Low
EPSS
Percentile
26.7%
The remote OracleVM system is missing necessary patches to address critical security updates :
qemu_up: ioport_read, ioport_write: be defensive about 32-bit addresses On x86, ioport addresses are 16-bit.
That these functions take 32-bit arguments is a mistake.
Changing the argument type to 16-bit will discard the top bits of any erroneous values from elsewhere in qemu.
Also, check just before use that the value is in range.
(This turns an ill-advised change to MAX_IOPORTS into a possible guest crash rather than a privilege escalation vulnerability.) And, in the Xen ioreq processor, clamp incoming ioport addresses to 16-bit values. Xen will never write >16-bit values but the guest may have access to the ioreq ring. We want to defend the rest of the qemu code from wrong values. This is XSA-199.
(CVE-2016-9637)
qemu: ioport_read, ioport_write: be defensive about 32-bit addresses On x86, ioport addresses are 16-bit.
That these functions take 32-bit arguments is a mistake.
Changing the argument type to 16-bit will discard the top bits of any erroneous values from elsewhere in qemu.
Also, check just before use that the value is in range.
(This turns an ill-advised change to MAX_IOPORTS into a possible guest crash rather than a privilege escalation vulnerability.) And, in the Xen ioreq processor, clamp incoming ioport addresses to 16-bit values. Xen will never write >16-bit values but the guest may have access to the ioreq ring. We want to defend the rest of the qemu code from wrong values. This is XSA-199.
(CVE-2016-9637)
#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#
# The package checks in this plugin were extracted from OracleVM
# Security Advisory OVMSA-2016-0171.
#
include('deprecated_nasl_level.inc');
include('compat.inc');
if (description)
{
script_id(95618);
script_version("3.15");
script_set_attribute(attribute:"plugin_modification_date", value:"2021/01/04");
script_cve_id("CVE-2016-9637");
script_name(english:"OracleVM 3.3 : xen (OVMSA-2016-0171)");
script_summary(english:"Checks the RPM output for the updated packages.");
script_set_attribute(
attribute:"synopsis",
value:"The remote OracleVM host is missing one or more security updates."
);
script_set_attribute(
attribute:"description",
value:
"The remote OracleVM system is missing necessary patches to address
critical security updates :
- qemu_up: ioport_read, ioport_write: be defensive about
32-bit addresses On x86, ioport addresses are 16-bit.
That these functions take 32-bit arguments is a mistake.
Changing the argument type to 16-bit will discard the
top bits of any erroneous values from elsewhere in qemu.
Also, check just before use that the value is in range.
(This turns an ill-advised change to MAX_IOPORTS into a
possible guest crash rather than a privilege escalation
vulnerability.) And, in the Xen ioreq processor, clamp
incoming ioport addresses to 16-bit values. Xen will
never write >16-bit values but the guest may have access
to the ioreq ring. We want to defend the rest of the
qemu code from wrong values. This is XSA-199.
(CVE-2016-9637)
- qemu: ioport_read, ioport_write: be defensive about
32-bit addresses On x86, ioport addresses are 16-bit.
That these functions take 32-bit arguments is a mistake.
Changing the argument type to 16-bit will discard the
top bits of any erroneous values from elsewhere in qemu.
Also, check just before use that the value is in range.
(This turns an ill-advised change to MAX_IOPORTS into a
possible guest crash rather than a privilege escalation
vulnerability.) And, in the Xen ioreq processor, clamp
incoming ioport addresses to 16-bit values. Xen will
never write >16-bit values but the guest may have access
to the ioreq ring. We want to defend the rest of the
qemu code from wrong values. This is XSA-199.
(CVE-2016-9637)"
);
# https://oss.oracle.com/pipermail/oraclevm-errata/2016-December/000598.html
script_set_attribute(
attribute:"see_also",
value:"http://www.nessus.org/u?f42439e2"
);
script_set_attribute(
attribute:"solution",
value:"Update the affected xen / xen-tools packages."
);
script_set_cvss_base_vector("CVSS2#AV:L/AC:H/Au:N/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:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"exploit_available", value:"false");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:vm:xen");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:vm:xen-tools");
script_set_attribute(attribute:"cpe", value:"cpe:/o:oracle:vm_server:3.3");
script_set_attribute(attribute:"vuln_publication_date", value:"2017/02/17");
script_set_attribute(attribute:"patch_publication_date", value:"2016/12/07");
script_set_attribute(attribute:"plugin_publication_date", value:"2016/12/08");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_copyright(english:"This script is Copyright (C) 2016-2021 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_family(english:"OracleVM Local Security Checks");
script_dependencies("ssh_get_info.nasl");
script_require_keys("Host/local_checks_enabled", "Host/OracleVM/release", "Host/OracleVM/rpm-list");
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/OracleVM/release");
if (isnull(release) || "OVS" >!< release) audit(AUDIT_OS_NOT, "OracleVM");
if (! preg(pattern:"^OVS" + "3\.3" + "(\.[0-9]|$)", string:release)) audit(AUDIT_OS_NOT, "OracleVM 3.3", "OracleVM " + release);
if (!get_kb_item("Host/OracleVM/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$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "OracleVM", cpu);
if ("x86_64" >!< cpu) audit(AUDIT_ARCH_NOT, "x86_64", cpu);
flag = 0;
if (rpm_check(release:"OVS3.3", reference:"xen-4.3.0-55.el6.119.62")) flag++;
if (rpm_check(release:"OVS3.3", reference:"xen-tools-4.3.0-55.el6.119.62")) flag++;
if (flag)
{
if (report_verbosity > 0) security_note(port:0, extra:rpm_report_get());
else security_note(0);
exit(0);
}
else
{
tested = pkg_tests_get();
if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
else audit(AUDIT_PACKAGE_NOT_INSTALLED, "xen / xen-tools");
}
3.7 Low
CVSS2
Attack Vector
LOCAL
Attack Complexity
HIGH
Authentication
NONE
Confidentiality Impact
PARTIAL
Integrity Impact
PARTIAL
Availability Impact
PARTIAL
AV:L/AC:H/Au:N/C:P/I:P/A:P
7.5 High
CVSS3
Attack Vector
LOCAL
Attack Complexity
HIGH
Privileges Required
HIGH
User Interaction
NONE
Scope
CHANGED
Confidentiality Impact
HIGH
Integrity Impact
HIGH
Availability Impact
HIGH
CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H
0.001 Low
EPSS
Percentile
26.7%