Lucene search

K
nessusThis script is Copyright (C) 2021 and is owned by Tenable, Inc. or an Affiliate thereof.XEN_SERVER_XSA-319.NASL
HistoryApr 29, 2021 - 12:00 a.m.

Xen Inverted Conditional DoS (XSA-319)

2021-04-2900:00:00
This script is Copyright (C) 2021 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
12

CVSS2

4.7

Attack Vector

LOCAL

Attack Complexity

MEDIUM

Authentication

NONE

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

COMPLETE

AV:L/AC:M/Au:N/C:N/I:N/A:C

CVSS3

6.5

Attack Vector

LOCAL

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

CHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H

EPSS

0

Percentile

14.2%

According to its self-reported version number, the Xen hypervisor installed on the remote host is affected by an issue allowing x86 HVM guest OS users to cause a hypervisor crash. An inverted conditional in x86 HVM guests’ dirty video RAM tracking code allows such guests to make Xen de-reference a pointer guaranteed to point at unmapped space. A malicious or buggy HVM guest may cause the hypervisor to crash, resulting in Denial of Service (DoS) affecting the entire host.
Xen versions from 4.8 onwards are affected. Xen versions 4.7 and earlier are not affected. Only x86 systems are affected. Arm systems are not affected. Only x86 HVM guests using shadow paging can leverage the vulnerability. In addition, there needs to be an entity actively monitoring a guest’s video frame buffer (typically for display purposes) in order for such a guest to be able to leverage the vulnerability. x86 PV guests, as well as x86 HVM guests using hardware assisted paging (HAP), cannot leverage the vulnerability.

Note that Nessus has not tested for this issue but has instead relied only on the application’s self-reported version number.

##
# (C) Tenable Network Security, Inc.
##

include('compat.inc');

if (description)
{
  script_id(149087);
  script_version("1.2");
  script_set_attribute(attribute:"plugin_modification_date", value:"2021/04/30");

  script_cve_id("CVE-2020-15563");

  script_name(english:"Xen Inverted Conditional DoS (XSA-319)");

  script_set_attribute(attribute:"synopsis", value:
"The remote Xen hypervisor installation is missing a security update.");
  script_set_attribute(attribute:"description", value:
"According to its self-reported version number, the Xen hypervisor installed on the remote host is affected by an issue
allowing x86 HVM guest OS users to cause a hypervisor crash. An inverted conditional in x86 HVM guests' dirty video RAM
tracking code allows such guests to make Xen de-reference a pointer guaranteed to point at unmapped space. A malicious
or buggy HVM guest may cause the hypervisor to crash, resulting in Denial of Service (DoS) affecting the entire host.
Xen versions from 4.8 onwards are affected. Xen versions 4.7 and earlier are not affected. Only x86 systems are
affected. Arm systems are not affected. Only x86 HVM guests using shadow paging can leverage the vulnerability. In
addition, there needs to be an entity actively monitoring a guest's video frame buffer (typically for display purposes)
in order for such a guest to be able to leverage the vulnerability. x86 PV guests, as well as x86 HVM guests using
hardware assisted paging (HAP), cannot leverage the vulnerability.

Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version   
number.");
  script_set_attribute(attribute:"see_also", value:"https://xenbits.xen.org/xsa/advisory-319.html");
  script_set_attribute(attribute:"solution", value:
"Apply the appropriate patch according to the vendor advisory.");
  script_set_cvss_base_vector("CVSS2#AV:L/AC:M/Au:N/C:N/I:N/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/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-2020-15563");

  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");

  script_set_attribute(attribute:"vuln_publication_date", value:"2020/07/07");
  script_set_attribute(attribute:"patch_publication_date", value:"2020/07/07");
  script_set_attribute(attribute:"plugin_publication_date", value:"2021/04/29");

  script_set_attribute(attribute:"potential_vulnerability", value:"true");
  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:xen:xen");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Misc.");

  script_copyright(english:"This script is Copyright (C) 2021 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("xen_server_detect.nbin");
  script_require_keys("installed_sw/Xen Hypervisor", "Settings/ParanoidReport");

  exit(0);
}

include('vcf.inc');
include('vcf_extras.inc');

var app = 'Xen Hypervisor';
var app_info = vcf::xen_hypervisor::get_app_info(app:app);
if (report_paranoia < 2) audit(AUDIT_PARANOID);

var fixes;

fixes['4.8']['fixed_ver']           = '4.8.99';
fixes['4.8']['fixed_ver_display']   = 'See vendor advisory';
fixes['4.8']['affected_ver_regex']  = "^4\.8([^0-9]|$)";

fixes['4.9']['fixed_ver']           = '4.9.4';
fixes['4.9']['fixed_ver_display']   = '4.9.4 (changeset 7154530)';
fixes['4.9']['affected_ver_regex']  = "^4\.9([^0-9]|$)";
fixes['4.9']['affected_changesets'] = make_list('6e477c2', '6a1c431',
  '41f597f', '1eae172', 'f1e75e5', 'f034ab4', '9737f89', '1dd6478',
  '80d78ac', 'ad0c1a0', '04af886', '93cc305', '45c9073', '773686b',
  '4e79375', '8d26adc', 'b3718b7', 'cf2e9cc', '43ab30b', '55bd90d',
  '173e805', '248f22e', 'ec229c2', 'e879bfe', 'ce126c9', '4b69427',
  '8d1ee9f', 'e60b3a9', '25f5530', '49db55f', 'fa34ed5', '704f7ec',
  'a930a74', '8c52ee2', '2e15a19', '70639ac', 'c3b479d', 'e349eae',
  '632fb4e', '4608c6d', '7daacca', '859e48e', '5be2dd0', 'b0147bd',
  'cadd66a', 'd3c4b60', 'd59f5c4', '44303c6', '79538ba', '80c3157',
  '73f1a55', 'bc20fb1', '754a531', '7b032c2', 'ff4fdf0', '8d2a688',
  'b9013d7', 'bc8e5ec', '34907f5', 'e70bf7e', 'fa0b891', '3a8177c',
  '04ec835', '8d63ec4', '1ff6b4d', 'f092d86', 'e4b534f', '87c49fe',
  '19becb8', '43775c0', 'f6b0f33', 'a17e75c', '67530e7', 'f804549',
  '84f81a8', '56aa239', '105db42', 'd9da3ea', 'ac90240', '3db28b0',
  '9b6f1c0', '0c4bbad', '917d8d3', '3384ea4', '352421f', '04e9dcb',
  '1612f15', 'f952b1d', '63d9330', 'f72414a', 'ac3a5f8', '1ae6b8e',
  '1dd3dcc', '7390fa1', '7e78dc4', '8fdfb1e', '55d36e2', '045f37c',
  'dd7e637', '7a40b5b', 'f5acf97');

fixes['4.10']['fixed_ver']           = '4.10.4';
fixes['4.10']['fixed_ver_display']   = '4.10.4 (changeset c1a4914)';
fixes['4.10']['affected_ver_regex']  = "^4\.10([^0-9]|$)";
fixes['4.10']['affected_changesets'] = make_list('6261a06', 'fd6e49e',
  'bd20589', 'ce05683', '934d6e1', '6e636f2', 'dfc0b23', '2f83654',
  'bf467cc', '6df4d40', 'e20bb58', 'a1a9b05', 'afca67f', 'b922c44',
  'b413732', '3d60903', 'b01c84e', '1e722e6', '59cf3a0', 'fabfce8',
  'a4dd2fe', '6e63a6f', '24d62e1', 'cbedabf', '38e589d', 'a91b8fc',
  '3e0c316', '49a5d6e', '6cb1cb9', 'ba2776a', '9d143e8', 'fe8dab3',
  '07e546e', 'fefa5f9', 'c9f9ff7', '406d40d', 'e489955', '37139f1',
  'fde09cb', '804ba02', 'e8c3971', 'a8c4293', 'aa40452', '1da3dab',
  'e5632c4', '902e72d', '6a14610', 'ea815b2', '13ad331', '61b75d9',
  'e70e7bf', 'e966e2e', 'dfa16a1', 'a71e199', 'c98be9e', 'a548e10',
  'd3c0e84', '53b1572', '7203f9a', '6d1659d', 'a782173', '24e90db',
  '0824bc6', 'e6f3135', '3131bf9');

fixes['4.11']['fixed_ver']           = '4.11.4';
fixes['4.11']['fixed_ver_display']   = '4.11.4 (changeset a3a392e)';
fixes['4.11']['affected_ver_regex']  = "^4\.11([^0-9]|$)";
fixes['4.11']['affected_changesets'] = make_list('e96cdba', '2b77729',
  '9be7992', 'b8d476a', '1c751c4', '7dd2ac3', 'a58bba2', '7d8fa6a',
  '4777208', '48e8564', '2efca7e', 'afe82f5', 'e84b634', '96a8b5b');

fixes['4.12']['fixed_ver']           = '4.12.4';
fixes['4.12']['fixed_ver_display']   = '4.12.4-pre (changeset ec57b9a)';
fixes['4.12']['affected_ver_regex']  = "^4\.12([^0-9]|$)";
fixes['4.12']['affected_changesets'] = make_list('a634229', '050fe48',
  '436ec68', '96e8aba', '7cdc0cf', 'd937532', '7641573', '7eed533',
  '74a1230', '946113a', '6182e5d', 'ad20170', '218a19b', 'aca68b9',
  '1f581f9', '4969f34', 'ed44947', '2eb277e', 'b3af150', 'f769c99',
  'bcdaffc', '2b10a32', 'a022f36', 'dd49ddf', 'bc775d0', 'be5c240');

fixes['4.13']['fixed_ver']           = '4.13.2';
fixes['4.13']['fixed_ver_display']   = '4.13.2-pre (changeset 7a76deb)';
fixes['4.13']['affected_ver_regex']  = "^4\.13([^0-9]|$)";
fixes['4.13']['affected_changesets'] = make_list('3e41b72', '9f7e8ba',
  'cdd8f95', 'a9d46ba', '05ba427', '780d376', '31c5d84', '27d4f1a',
  '11ea967', '53bafb5', 'b4afe05', '74ce65c', '0243559', '8ad99de',
  'ea7e8d2', '350aaca', 'c3eea2c', '0523225', '672976c', 'a6f2080',
  'c437e06', '0a85f84', '85ac008', '7f6b66d', '04aedf4', 'f2ad77b',
  'd61fef6', 'eccc242', '6bfb364', 'bdddd33', '7d57caa', 'd74eb10',
  '9eec3ee', 'd112db3', '333519f');

fixes['4.14']['fixed_ver']           = '4.14.0';
fixes['4.14']['fixed_ver_display']   = '4.14.0-rc (changeset 23a216f)';
fixes['4.14']['affected_ver_regex']  = "^4\.14([^0-9]|$)";
fixes['4.14']['affected_changesets'] = make_list('2e9c2bc', 'f97f99c',
  '158912a', 'd44cbbe', 'be63d9d', '5b718d2', '0dbed3a', '5b13eb1',
  '3b7dab9', '23ca7ec', '0e2e549', 'da53345', 'd476440', '88cfd06',
  '92167e9', 'bcdfbb7', '40b532f', 'd20c0f1', '620225c', 'bfb310e',
  'ace450e', '2b1a218', '20b65c1', 'fbdf181', '01b9a28', '2c8ac47',
  'ed69c2e', '3471caf', 'f91d103', 'd3688bf', 'e4d2207', 'f325d24',
  'fde76f8', '4f4f6a6', 'b67e859', '81ebf6e', 'f1d376a', 'f0dca89',
  '25636ed', '71ca0e0', 'fde4acd', '54463aa', '1accd92', '057012d',
  'f79cd47', '585c7f4', 'c22ced9', '700738b', '3625b04', 'd3db7e0',
  '05f488e', '3371ced', '1251402', 'fec6a7a', 'b91825f', '2995d0a',
  '6fa25d5', '3664f7b', 'b87dd7b', '10ea4e4', 'aad20e5', '7028534',
  'ceaae74', '6a49b9a', 'caab85a', '058023b', '30a72f0', '1a58d8d',
  '31a714d', 'f7039ee', '1fe4066', '985ba41', '835d8d6', '63b4c9b',
  '16c36d2', '03dc5f0', '11ba5cd', '726c78d', '75131ad');

fixes['4.15']['fixed_ver']           = '4.15.0';
fixes['4.15']['fixed_ver_display']   = '4.15.0-rc (changeset 23a216f)';
fixes['4.15']['affected_ver_regex']  = "^4\.15([^0-9]|$)";
fixes['4.15']['affected_changesets'] = make_list('2e9c2bc', 'f97f99c',
  '158912a', 'd44cbbe', 'be63d9d', '5b718d2', '0dbed3a', '5b13eb1',
  '3b7dab9', '23ca7ec', '0e2e549', 'da53345', 'd476440', '88cfd06',
  '92167e9', 'bcdfbb7', '40b532f', 'd20c0f1', '620225c', 'bfb310e',
  'ace450e', '2b1a218', '20b65c1', 'fbdf181', '01b9a28', '2c8ac47',
  'ed69c2e', '3471caf', 'f91d103', 'd3688bf', 'e4d2207', 'f325d24',
  'fde76f8', '4f4f6a6', 'b67e859', '81ebf6e', 'f1d376a', 'f0dca89',
  '25636ed', '71ca0e0', 'fde4acd', '54463aa', '1accd92', '057012d',
  'f79cd47', '585c7f4', 'c22ced9', '700738b', '3625b04', 'd3db7e0',
  '05f488e', '3371ced', '1251402', 'fec6a7a', 'b91825f', '2995d0a',
  '6fa25d5', '3664f7b', 'b87dd7b', '10ea4e4', 'aad20e5', '7028534',
  'ceaae74', '6a49b9a', 'caab85a', '058023b', '30a72f0', '1a58d8d',
  '31a714d', 'f7039ee', '1fe4066', '985ba41', '835d8d6', '63b4c9b',
  '16c36d2', '03dc5f0', '11ba5cd', '726c78d', '75131ad');

vcf::xen_hypervisor::check_version_and_report(app_info:app_info, fixes:fixes, severity:SECURITY_WARNING);
VendorProductVersionCPE
xenxencpe:/o:xen:xen

CVSS2

4.7

Attack Vector

LOCAL

Attack Complexity

MEDIUM

Authentication

NONE

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

COMPLETE

AV:L/AC:M/Au:N/C:N/I:N/A:C

CVSS3

6.5

Attack Vector

LOCAL

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

CHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H

EPSS

0

Percentile

14.2%