Security Updates for Microsoft Sharepoint Server (October 2017)

2017-10-11T00:00:00
ID SMB_NT_MS17_OCT_OFFICE_SHAREPOINT.NASL
Type nessus
Reporter This script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
Modified 2020-10-02T00:00:00

Description

The Microsoft Sharepoint Server installation on the remote host is missing security updates. It is, therefore, affected by multiple vulnerabilities :

  • A cross-site scripting (XSS) vulnerability exists when Microsoft SharePoint Server does not properly sanitize a specially crafted web request to an affected SharePoint server. An authenticated attacker could exploit the vulnerability by sending a specially crafted request to an affected SharePoint server. The attacker who successfully exploited the vulnerability could then perform cross-site scripting attacks on affected systems and run script in the security context of the current user. The attacks could allow the attacker to read content that the attacker is not authorized to read, use the victim's identity to take actions on the SharePoint site on behalf of the user, such as change permissions and delete content, and inject malicious content in the browser of the user. The security update addresses the vulnerability by helping to ensure that SharePoint Server properly sanitizes web requests. (CVE-2017-11775, CVE-2017-11777, CVE-2017-11820)

  • A remote code execution vulnerability exists in Microsoft Office software when the software fails to properly handle objects in memory. An attacker who successfully exploited the vulnerability could run arbitrary code in the context of the current user. If the current user is logged on with administrative user rights, an attacker could take control of the affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. (CVE-2017-11826)

                                        
                                            #
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from the Microsoft Security Updates API. The text
# itself is copyright (C) Microsoft Corporation.
#
include("compat.inc");

if (description)
{
  script_id(103786);
  script_version("1.9");
  script_cvs_date("Date: 2019/11/12");

  script_cve_id(
    "CVE-2017-11775",
    "CVE-2017-11777",
    "CVE-2017-11820",
    "CVE-2017-11826"
  );
  script_bugtraq_id(
    101097,
    101105,
    101155,
    101219
  );
  script_xref(name:"MSKB", value:"3213623");
  script_xref(name:"MSKB", value:"4011068");
  script_xref(name:"MSKB", value:"4011170");
  script_xref(name:"MSKB", value:"4011180");
  script_xref(name:"MSKB", value:"4011217");
  script_xref(name:"MSFT", value:"MS17-3213623");
  script_xref(name:"MSFT", value:"MS17-4011068");
  script_xref(name:"MSFT", value:"MS17-4011170");
  script_xref(name:"MSFT", value:"MS17-4011180");
  script_xref(name:"MSFT", value:"MS17-4011217");
  script_xref(name:"IAVA", value:"2017-A-0291");

  script_name(english:"Security Updates for Microsoft Sharepoint Server (October 2017)");
  script_summary(english:"Checks for Microsoft security updates.");

  script_set_attribute(attribute:"synopsis", value:
"The Microsoft Sharepoint Server installation on the remote host is
affected by multiple vulnerabilities.");
  script_set_attribute(attribute:"description", value:
"The Microsoft Sharepoint Server installation on the remote
host is missing security updates. It is, therefore, affected
by multiple vulnerabilities :

  - A cross-site scripting (XSS) vulnerability exists when
    Microsoft SharePoint Server does not properly sanitize a
    specially crafted web request to an affected SharePoint
    server. An authenticated attacker could exploit the
    vulnerability by sending a specially crafted request to
    an affected SharePoint server. The attacker who
    successfully exploited the vulnerability could then
    perform cross-site scripting attacks on affected systems
    and run script in the security context of the current
    user. The attacks could allow the attacker to read
    content that the attacker is not authorized to read, use
    the victim's identity to take actions on the SharePoint
    site on behalf of the user, such as change permissions
    and delete content, and inject malicious content in the
    browser of the user. The security update addresses the
    vulnerability by helping to ensure that SharePoint
    Server properly sanitizes web requests. (CVE-2017-11775,
    CVE-2017-11777, CVE-2017-11820)

  - A remote code execution vulnerability exists in
    Microsoft Office software when the software fails to
    properly handle objects in memory. An attacker who
    successfully exploited the vulnerability could run
    arbitrary code in the context of the current user. If
    the current user is logged on with administrative user
    rights, an attacker could take control of the affected
    system. An attacker could then install programs; view,
    change, or delete data; or create new accounts with full
    user rights.  (CVE-2017-11826)");
  # https://support.microsoft.com/en-us/help/4011117/descriptionofthesecurityupdateforsharepointfoundation2013september12-2
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?a44abe21");
  # https://support.microsoft.com/en-us/help/4011068/security-update-for-word-automation-services-for-sharepoint
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?9244fe07");
  # https://support.microsoft.com/en-us/help/4011170/description-of-the-security-update-for-sharepoint-server-2013-october
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?fd221883");
  # https://support.microsoft.com/en-us/help/4011180/descriptionofthesecurityupdateforsharepointfoundation2013october10-201
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?f914ba0b");
  # https://support.microsoft.com/en-us/help/4011217/security-update-for-sharepoint-enterprise-server-2016
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?aaee58c0");
  script_set_attribute(attribute:"solution", value:
"Microsoft has released the following security updates to address this issue:
  -KB3213623
  -KB4011068
  -KB4011170
  -KB4011180
  -KB4011217");
  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:H/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:H/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2017-11826");

  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");
  script_set_attribute(attribute:"exploit_framework_core", value:"true");
  script_set_attribute(attribute:"exploited_by_malware", value:"true");

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

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:microsoft:office");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:microsoft:sharepoint_foundation");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:microsoft:sharepoint_server");
  script_set_attribute(attribute:"stig_severity", value:"II");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Windows : Microsoft Bulletins");

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

  script_dependencies("microsoft_sharepoint_installed.nbin", "smb_hotfixes.nasl", "ms_bulletin_checks_possible.nasl", "microsoft_office_compatibility_pack_installed.nbin");
  script_require_keys("SMB/MS_Bulletin_Checks/Possible");
  script_require_ports(139, 445, "Host/patch_management_checks");

  exit(0);
}

include("audit.inc");
include("smb_func.inc");
include("smb_hotfixes.inc");
include("smb_hotfixes_fcheck.inc");
include("smb_reg_query.inc");
include("misc_func.inc");
include("install_func.inc");

get_kb_item_or_exit("SMB/MS_Bulletin_Checks/Possible");

bulletin = "MS17-10";
kbs = make_list(
  '3213623', # Word Automation Services for SharePoint Server 2010 SP2
  '4011068', # Word Automation Services for SharePoint Server 2013 SP1
  '4011170', # SharePoint Server 2013 SP1
  '4011180', # SharePoint Foundation 2013 SP1
  '4011217'  # SharePoint Enterprise Server 2016
);

if (get_kb_item("Host/patch_management_checks"))
hotfix_check_3rd_party(bulletin:bulletin, kbs:kbs, severity:SECURITY_HOLE);

get_kb_item_or_exit("SMB/Registry/Enumerated", exit_code:1);

# Get path information for Windows.
windir = hotfix_get_systemroot();
if (isnull(windir)) audit(AUDIT_PATH_NOT_DETERMINED, 'system root');

registry_init();

var sps_2010_path, sps_2010_sp, sps_2010_edition;
var sps_2013_path, sps_2013_sp, sps_2013_edition;
var sps_2016_path, sps_2016_sp, sps_2016_edition;

vuln = FALSE;
xss = FALSE;

port = kb_smb_transport();

installs = get_installs(app_name:"Microsoft SharePoint Server", exit_if_not_found:TRUE);

foreach install (installs[1])
{
  if (install["Product"] == "2016")
  {
    sps_2016_path = install['path'];
    sps_2016_sp = install['SP'];
    sps_2016_edition = install['Edition'];
  }
  else if (install["Product"] == "2013")
  {
    sps_2013_path = install['path'];
    sps_2013_sp = install['SP'];
    sps_2013_edition = install['Edition'];
  }
  else if (install["Product"] == "2010")
    {
      sps_2010_path = install['path'];
      sps_2010_sp = install['SP'];
      sps_2010_edition = install['Edition'];
    }
}

######################################################################
# SharePoint Server 2010 SP2
######################################################################
if (sps_2010_path && sps_2010_sp == "2" && sps_2010_edition == "Server")
{
  path = hotfix_append_path(path:sps_2010_path, value:"WebServices\WordServer\Core");
  if (hotfix_check_fversion(file:"sword.dll", version:"14.0.7189.5001", min_version:"14.0.0.0", path:path, kb:"3213623", product:"Office SharePoint Server 2010 Word Automation Services") == HCF_OLDER)
    vuln = TRUE;
}

######################################################################
# SharePoint Server 2013 SP1
######################################################################
if (sps_2013_path && sps_2013_sp == "1")
{
  if (sps_2013_edition == "Server")
  {
    if (hotfix_check_fversion(file:"tquery.dll", version:"15.0.4921.1000", min_version:"15.0.0.0", path:path, kb:"4011170", product:"Microsoft SharePoint Server 2013 Service Pack 1 ") == HCF_OLDER)
    {
      vuln = TRUE;
      xss = TRUE;
    }

    # Files under <sps_2013_path>\WebServices\ConversionServices
    path = hotfix_append_path(path:sps_2013_path, value:"WebServices\ConversionServices");
    if (hotfix_check_fversion(file:"oartserver.dll", version:"15.0.4963.1000", min_version:"15.0.0.0", path:path, kb:"4011068", product:"Office SharePoint Server 2013") == HCF_OLDER)
      vuln = TRUE;
  }
  else if (sps_2013_edition == "Foundation")
  {
    commonfiles = hotfix_get_commonfilesdir();
    if (!commonfiles) commonfiles = hotfix_get_commonfilesdirx86();
    if (commonfiles) path = hotfix_append_path(path:commonfiles, value:"Microsoft Shared\Web Server Extensions\15\BIN");
    else path = hotfix_append_path(path:sps_2013_path, value:"BIN");
    if (hotfix_check_fversion(file:"onetutil.dll", version:"15.0.4971.1000", min_version:"15.0.0.0", path:path, kb:"4011180", product:"Microsoft Sharepoint Foundation 2013 Service Pack 1") == HCF_OLDER)
    {
      vuln = TRUE;
      xss = TRUE;
    }
  }
}

######################################################################
# SharePoint Server 2016
######################################################################
if (sps_2016_path && sps_2016_sp == "0" && sps_2016_edition == "Server")
{
  path = hotfix_append_path(path:sps_2016_path, value:"WebServices\ConversionServices");
  if (hotfix_check_fversion(file:"ppserver.dll", version:"16.0.4588.1000", min_version:"16.0.0.0", path:path, kb:"4011217", product:"Office SharePoint Server 2016") == HCF_OLDER)
  {
    vuln = TRUE;
    xss = TRUE;
  }
}

if (vuln)
{
  if (xss) replace_kb_item(name:'www/'+port+'/XSS', value:TRUE);

  replace_kb_item(name:'SMB/Missing/'+bulletin, value:TRUE);
  hotfix_security_hole();
  hotfix_check_fversion_end();
  exit(0);
}
else
{
  hotfix_check_fversion_end();
  audit(AUDIT_HOST_NOT, 'affected');
}