Lucene search

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

Xen Platypus information leak via power sidechannel (XSA-351)

2020-11-1300:00:00
This script is Copyright (C) 2020-2021 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
13

2.1 Low

CVSS2

Attack Vector

LOCAL

Attack Complexity

LOW

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

NONE

Availability Impact

NONE

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

4.4 Medium

CVSS3

Attack Vector

LOCAL

Attack Complexity

LOW

Privileges Required

HIGH

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

NONE

Availability Impact

NONE

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

0.0005 Low

EPSS

Percentile

18.2%

An information disclosure vulnerability exists in power/energy monitoring interfaces, which can be used to create covert channels and infer the operations and data used by other contexts within the system.

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

include('compat.inc');

if (description)
{
  script_id(142889);
  script_version("1.4");
  script_set_attribute(attribute:"plugin_modification_date", value:"2021/01/04");

  script_cve_id("CVE-2020-28368");
  script_xref(name:"IAVB", value:"2020-B-0066");

  script_name(english:"Xen Platypus information leak via power sidechannel (XSA-351)");

  script_set_attribute(attribute:"synopsis", value:
"The remote Xen hypervisor installation is missing a security update.");
  script_set_attribute(attribute:"description", value:
"An information disclosure vulnerability exists in power/energy monitoring interfaces, which can be used to create
covert channels and infer the operations and data used by other contexts within the  system.");
  script_set_attribute(attribute:"see_also", value:"https://xenbits.xen.org/xsa/advisory-351.html");
  script_set_attribute(attribute:"see_also", value:"https://platypusattack.com/");
  # https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00389.html
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?4153ee20");
  script_set_attribute(attribute:"solution", value:
"Apply the appropriate patch according to the vendor advisory.");
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:P/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:L/AC:L/PR:H/UI:N/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-2020-28368");

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

  script_set_attribute(attribute:"vuln_publication_date", value:"2020/11/10");
  script_set_attribute(attribute:"patch_publication_date", value:"2020/11/10");
  script_set_attribute(attribute:"plugin_publication_date", value:"2020/11/13");

  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_set_attribute(attribute:"stig_severity", value:"I");
  script_end_attributes();

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

  script_copyright(english:"This script is Copyright (C) 2020-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('install_func.inc');

app_name = 'Xen Hypervisor';
install  = get_single_install(app_name:app_name);
if (report_paranoia < 2) audit(AUDIT_PARANOID);

version         = install['version'];
display_version = install['display_version'];
path            = install['path'];
managed_status  = install['Managed status'];
changeset       = install['Changeset'];

if (!empty_or_null(changeset))
  display_version += ' (changeset ' + changeset + ')';

# Installations that are vendor-managed are handled by OS-specific local package checks
if (managed_status == 'managed')
  audit(AUDIT_INST_PATH_NOT_VULN, app_name, display_version, path);

fixes['4.10']['fixed_ver']           = '4.10.4';
fixes['4.10']['fixed_ver_display']   = '4.10.4 (changeset 15b2980)';
fixes['4.10']['affected_ver_regex']  = "^4\.10\.";
fixes['4.10']['affected_changesets'] = make_list('398f91c', '5114e77',
  '7a4ec79', '78d903e', '2012db4', '71da63b', '56f8da7', 'd73e972', 
  '6f012ec', '75a05da', 'c334b87', '07ad8ff', '1719f79', 'f58caa4', 
  'f2befb6', '83b7f04', 'e081568', '7f0793a', '8fac37e', 'baf80b6', 
  '5402540', 'f85223f', '635ae12', '3d14937', '4218b74', '93be943', 
  '4418841', 'd9c67d3', '8976bab', '388e303', '0b0a155', '9df4399', 
  'fd57038', 'a9bda69', 'a380168', 'c1a4914', '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 1447d44)';
fixes['4.11']['affected_ver_regex']  = "^4\.11\.";
fixes['4.11']['affected_changesets'] = make_list('3b5de11', '65fad0a',
  'b5eb495', 'e274c8b', '1d021db', '63199df', '7739ffd', '4f35f7f', 
  '490c517', '7912bbe', 'f5ec9f2', 'ad7d040', '3630a36', '3263f25', 
  '3e565a9', '30b3f29', '3def846', 'cc1561a', '6e9de08', '13f60bf', 
  '9703a2f', '7284bfa', '2fe163d', '2031bd3', '7bf4983', '7129b9e', 
  'ddaaccb', 'e6ddf4a', 'f2bc74c', 'd623658', '37c853a', '8bf72ea', 
  '2d11e6d', '4ed0007', '7def72c', '18be3aa', 'a3a392e', '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 (changeset 14c9c0f)';
fixes['4.12']['affected_ver_regex']  = "^4\.12\.";
fixes['4.12']['affected_changesets'] = make_list('dee5d47', '7b2f479',
  '46ad884', 'eaafa72', '0e6975b', '8e0c2a2', '51eca39', '7ae2afb', 
  '5e11fd5', '34056b2', 'fd4cc0b', '4f9294d', '97b7b55');

fixes['4.13']['fixed_ver']           = '4.13.2';
fixes['4.13']['fixed_ver_display']   = '4.13.2 (changeset d4c0483)';
fixes['4.13']['affected_ver_regex']  = "^4\.13\.";
fixes['4.13']['affected_changesets'] = make_list('33483f8', '6434a63',
  '971a9d1', 'a92f935', 'a5756aa', '43edb26', 'd204083', 'e596bf7',
  'c64c15f', '1892cb9', '75c5799', 'b3b43ac', 'c0dc42a', '8311549', '0060ac2');

fixes['4.14']['fixed_ver']           = '4.14.1';
fixes['4.14']['fixed_ver_display']   = '4.14.1-pre (changeset d101b41)';
fixes['4.14']['affected_ver_regex']  = "^4\.14\.";
fixes['4.14']['affected_changesets'] = make_list('d95f450', '73a0927',
  'a38060e', '78a53f0', '89ae1b1', '7398a44', '59b8366', '1f9f1cb',
  'f728b2d', '71a12a9', '0c96e42', '29b48aa', 'd131310', '7d2b21f',
  'f61c5d0', 'fc8fab1', '898864c', '9f954ae', '5784d1e', '10bb63c',
  '941f69a', '7b1e587', 'ee47e8e', '4ba3fb0', 'd2ba323', 'b081a5f',
  'e936515', '9c1cc64', '829dbe2', '8d14800', '0521dc9', '64c3951',
  '0974e00', 'a279fcb', 'f7ab0c1', '7339975', '94c157f', '79f1701',
  '9e757fc', '809a70b', 'b427109', 'c93b520', 'f37a1cf', '5478934',
  '43eceee', '03019c2', '66cdf34', 'ecc6428', '2ee270e', '9b9fc8e',
  'b8c2efb', 'f546906', 'eb4a543', 'e417504', '0bc4177', '5ad3152',
  'fc8200a', '5eab5f0', 'b04d673', '28855eb', '174be04', '158c3bd',
  '3535f23', 'de7e543', '483b43c', '431d52a', 'ceafff7', '369e7a3',
  '98aa6ea', '80dec06', '5482c28', 'edf5b86', 'eca6d5e', 'c3a0fc2',
  '864d570', 'afed8e4', 'a5dab0a', 'b8c3e33', 'f836759');

fix = NULL;

var ver_branch, affected_changeset;

foreach ver_branch (keys(fixes))
{
  if (version =~ fixes[ver_branch]['affected_ver_regex'])
  {
    ret = ver_compare(ver:version, fix:fixes[ver_branch]['fixed_ver']);
    if (ret < 0)
      fix = fixes[ver_branch]['fixed_ver_display'];
    else if (ret == 0)
    {
      if (empty_or_null(changeset))
        fix = fixes[ver_branch]['fixed_ver_display'];
      else
        foreach affected_changeset (fixes[ver_branch]['affected_changesets'])
          if (changeset == affected_changeset)
            fix = fixes[ver_branch]['fixed_ver_display'];
    }
  }
}

if (empty_or_null(fix))
  audit(AUDIT_INST_PATH_NOT_VULN, app_name, display_version, path);

items  = make_array(
  'Installed version', display_version,
  'Fixed version', fix,
  'Path', path
);

order  = make_list('Path', 'Installed version', 'Fixed version');
report = report_items_str(report_items:items, ordered_fields:order) + '\n';

security_report_v4(port:0, extra:report, severity:SECURITY_NOTE);
VendorProductVersionCPE
xenxencpe:/o:xen:xen

2.1 Low

CVSS2

Attack Vector

LOCAL

Attack Complexity

LOW

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

NONE

Availability Impact

NONE

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

4.4 Medium

CVSS3

Attack Vector

LOCAL

Attack Complexity

LOW

Privileges Required

HIGH

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

NONE

Availability Impact

NONE

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

0.0005 Low

EPSS

Percentile

18.2%