Vulnerabilities > CVE-2017-8549 - Improper Restriction of Operations within the Bounds of a Memory Buffer vulnerability in Microsoft Edge

047910
CVSS 7.6 - HIGH
Attack vector
NETWORK
Attack complexity
HIGH
Privileges required
NONE
Confidentiality impact
COMPLETE
Integrity impact
COMPLETE
Availability impact
COMPLETE
network
high complexity
microsoft
CWE-119
nessus

Summary

Microsoft Edge in Microsoft Windows 10 Gold, 1511, 1607, and 1703, and Windows Server 2016 allows an attacker to obtain information to further compromise the user's system when Microsoft Edge improperly handles objects in memory, aka "Scripting Engine Memory Corruption Vulnerability". This CVE ID is unique from CVE-2017-8499, CVE-2017-8520, CVE-2017-8521, and CVE-2017-8548.

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Buffer Overflow via Environment Variables
    This attack pattern involves causing a buffer overflow through manipulation of environment variables. Once the attacker finds that they can modify an environment variable, they may try to overflow associated buffers. This attack leverages implicit trust often placed in environment variables.
  • Overflow Buffers
    Buffer Overflow attacks target improper or missing bounds checking on buffer operations, typically triggered by input injected by an attacker. As a consequence, an attacker is able to write past the boundaries of allocated buffer regions in memory, causing a program crash or potentially redirection of execution as per the attackers' choice.
  • Client-side Injection-induced Buffer Overflow
    This type of attack exploits a buffer overflow vulnerability in targeted client software through injection of malicious content from a custom-built hostile service.
  • Filter Failure through Buffer Overflow
    In this attack, the idea is to cause an active filter to fail by causing an oversized transaction. An attacker may try to feed overly long input strings to the program in an attempt to overwhelm the filter (by causing a buffer overflow) and hoping that the filter does not fail securely (i.e. the user input is let into the system unfiltered).
  • MIME Conversion
    An attacker exploits a weakness in the MIME conversion routine to cause a buffer overflow and gain control over the mail server machine. The MIME system is designed to allow various different information formats to be interpreted and sent via e-mail. Attack points exist when data are converted to MIME compatible format and back.

Nessus

  • NASL familyWindows : Microsoft Bulletins
    NASL idSMB_NT_MS17_JUN_4022727.NASL
    descriptionThe remote Windows 10 version 1507 host is missing security update KB4022727. It is, therefore, affected by multiple vulnerabilities : - An elevation of privilege vulnerability exists in Windows Hyper-V instruction emulation due to a failure to properly enforce privilege levels. An attacker on a guest operating system can exploit this to gain elevated privileges on the guest. Note that the host operating system is not vulnerable. (CVE-2017-0193) - Multiple security bypass vulnerabilities exist in Device Guard. A local attacker can exploit these, via a specially crafted script, to bypass the Device Guard Code Integrity policy and inject arbitrary code into a trusted PowerShell process. (CVE-2017-0218, CVE-2017-0219) - Multiple information disclosure vulnerabilities exist in Windows Uniscribe due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit these, by convincing a user to visit a specially crafted website or open a specially crafted document, to disclose the contents of memory. (CVE-2017-0282, CVE-2017-0284, CVE-2017-0285) - A remote code execution vulnerability exists in Windows Uniscribe software due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit this, by convincing a user to visit a specially crafted website or open a specially crafted document, to execute arbitrary code in the context of the current user. (CVE-2017-0283) - Multiple information disclosure vulnerabilities exist in the Windows GDI component due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit these, by convincing a user to visit a specially crafted website or open a specially crafted document, to disclose the contents of memory. (CVE-2017-0287, CVE-2017-0288, CVE-2017-0289, CVE-2017-8531, CVE-2017-8532, CVE-2017-8533) - Multiple remote code execution vulnerabilities exist in Microsoft Windows due to improper parsing of PDF files. An unauthenticated, remote attacker can exploit these, by convincing a user to open a specially crafted PDF file, to execute arbitrary code in the context of the current user. (CVE-2017-0291, CVE-2017-0292) - A remote code execution vulnerability exists in Microsoft Windows due to improper handling of cabinet files. An unauthenticated, remote attacker can exploit this, by convincing a user to open a specially crafted cabinet file, to execute arbitrary code in the context of the current user. (CVE-2017-0294) - An elevation of privilege vulnerability exists in tdx.sys due to a failure to check the length of a buffer prior to copying memory to it. A local attacker can exploit this, via a specially crafted application, to execute arbitrary code in an elevated context. (CVE-2017-0296) - An elevation of privilege vulnerability exists in the Windows kernel due to improper handling of objects in memory. A local attacker can exploit this, via a specially crafted application, to execute arbitrary code with elevated permissions. (CVE-2017-0297) - An elevation of privilege vulnerability exists in the DCOM object in Helppane.exe, when configured to run as the interactive user, due to a failure to properly authenticate the client. An authenticated, remote attacker can exploit this, via a specially crafted application, to run arbitrary code in another user
    last seen2020-05-31
    modified2017-06-13
    plugin id100765
    published2017-06-13
    reporterThis script is Copyright (C) 2017-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/100765
    titleKB4022727: Windows 10 Version 1507 June 2017 Cumulative Update
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(100765);
      script_version("1.24");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/28");
    
      script_cve_id(
        "CVE-2017-0193",
        "CVE-2017-0218",
        "CVE-2017-0219",
        "CVE-2017-0282",
        "CVE-2017-0283",
        "CVE-2017-0284",
        "CVE-2017-0285",
        "CVE-2017-0287",
        "CVE-2017-0288",
        "CVE-2017-0289",
        "CVE-2017-0291",
        "CVE-2017-0292",
        "CVE-2017-0294",
        "CVE-2017-0296",
        "CVE-2017-0297",
        "CVE-2017-0298",
        "CVE-2017-0299",
        "CVE-2017-0300",
        "CVE-2017-8460",
        "CVE-2017-8462",
        "CVE-2017-8464",
        "CVE-2017-8465",
        "CVE-2017-8466",
        "CVE-2017-8468",
        "CVE-2017-8470",
        "CVE-2017-8471",
        "CVE-2017-8473",
        "CVE-2017-8474",
        "CVE-2017-8475",
        "CVE-2017-8476",
        "CVE-2017-8477",
        "CVE-2017-8478",
        "CVE-2017-8479",
        "CVE-2017-8480",
        "CVE-2017-8481",
        "CVE-2017-8482",
        "CVE-2017-8483",
        "CVE-2017-8484",
        "CVE-2017-8485",
        "CVE-2017-8489",
        "CVE-2017-8490",
        "CVE-2017-8491",
        "CVE-2017-8492",
        "CVE-2017-8493",
        "CVE-2017-8494",
        "CVE-2017-8517",
        "CVE-2017-8518",
        "CVE-2017-8522",
        "CVE-2017-8523",
        "CVE-2017-8524",
        "CVE-2017-8527",
        "CVE-2017-8530",
        "CVE-2017-8531",
        "CVE-2017-8532",
        "CVE-2017-8533",
        "CVE-2017-8543",
        "CVE-2017-8544",
        "CVE-2017-8547",
        "CVE-2017-8548",
        "CVE-2017-8549",
        "CVE-2017-8554",
        "CVE-2017-8575",
        "CVE-2017-8576",
        "CVE-2017-8579"
      );
      script_bugtraq_id(
        98818,
        98819,
        98820,
        98821,
        98824,
        98826,
        98835,
        98836,
        98837,
        98839,
        98840,
        98843,
        98844,
        98845,
        98846,
        98847,
        98848,
        98849,
        98850,
        98852,
        98853,
        98854,
        98855,
        98856,
        98857,
        98858,
        98859,
        98860,
        98862,
        98863,
        98865,
        98867,
        98869,
        98870,
        98878,
        98884,
        98885,
        98887,
        98895,
        98897,
        98898,
        98900,
        98901,
        98902,
        98903,
        98914,
        98918,
        98920,
        98922,
        98923,
        98926,
        98928,
        98929,
        98930,
        98932,
        98933,
        98942,
        98954,
        98955,
        99210,
        99212,
        99215
      );
      script_xref(name:"MSKB", value:"4022727");
      script_xref(name:"MSFT", value:"MS17-4022727");
    
      script_name(english:"KB4022727: Windows 10 Version 1507 June 2017 Cumulative Update");
      script_summary(english:"Checks for rollup.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote Windows host is affected by multiple vulnerabilities.");
      script_set_attribute(attribute:"description", value:
    "The remote Windows 10 version 1507 host is missing security update
    KB4022727. It is, therefore, affected by multiple vulnerabilities :
    
      - An elevation of privilege vulnerability exists in
        Windows Hyper-V instruction emulation due to a failure
        to properly enforce privilege levels. An attacker on a
        guest operating system can exploit this to gain elevated
        privileges on the guest. Note that the host operating
        system is not vulnerable. (CVE-2017-0193)
    
      - Multiple security bypass vulnerabilities exist in
        Device Guard. A local attacker can exploit these, via a
        specially crafted script, to bypass the Device Guard
        Code Integrity policy and inject arbitrary code into a
        trusted PowerShell process. (CVE-2017-0218,
        CVE-2017-0219)
    
      - Multiple information disclosure vulnerabilities exist in
        Windows Uniscribe due to improper handling of objects in
        memory. An unauthenticated, remote attacker can exploit
        these, by convincing a user to visit a specially crafted
        website or open a specially crafted document, to
        disclose the contents of memory. (CVE-2017-0282,
        CVE-2017-0284, CVE-2017-0285)
    
      - A remote code execution vulnerability exists in
        Windows Uniscribe software due to improper handling of
        objects in memory. An unauthenticated, remote attacker
        can exploit this, by convincing a user to visit a
        specially crafted website or open a specially crafted
        document, to execute arbitrary code in the context of
        the current user. (CVE-2017-0283)
    
      - Multiple information disclosure vulnerabilities exist in
        the Windows GDI component due to improper handling of
        objects in memory. An unauthenticated, remote attacker
        can exploit these, by convincing a user to visit a
        specially crafted website or open a specially crafted
        document, to disclose the contents of memory.
        (CVE-2017-0287, CVE-2017-0288, CVE-2017-0289,
        CVE-2017-8531, CVE-2017-8532, CVE-2017-8533)
    
      - Multiple remote code execution vulnerabilities exist in
        Microsoft Windows due to improper parsing of PDF files.
        An unauthenticated, remote attacker can exploit these,
        by convincing a user to open a specially crafted PDF
        file, to execute arbitrary code in the context of the
        current user. (CVE-2017-0291, CVE-2017-0292)
    
      - A remote code execution vulnerability exists in
        Microsoft Windows due to improper handling of cabinet
        files. An unauthenticated, remote attacker can exploit
        this, by convincing a user to open a specially crafted
        cabinet file, to execute arbitrary code in the context
        of the current user. (CVE-2017-0294)
    
      - An elevation of privilege vulnerability exists in
        tdx.sys due to a failure to check the length of a buffer
        prior to copying memory to it. A local attacker can
        exploit this, via a specially crafted application, to
        execute arbitrary code in an elevated context.
        (CVE-2017-0296)
    
      - An elevation of privilege vulnerability exists in the
        Windows kernel due to improper handling of objects in
        memory. A local attacker can exploit this, via a
        specially crafted application, to execute arbitrary code
        with elevated permissions. (CVE-2017-0297)
    
      - An elevation of privilege vulnerability exists in the
        DCOM object in Helppane.exe, when configured to run as
        the interactive user, due to a failure to properly
        authenticate the client. An authenticated, remote
        attacker can exploit this, via a specially crafted
        application, to run arbitrary code in another user's
        session after that user has logged on to the same system
        using Terminal Services or Fast User Switching.
        (CVE-2017-0298)
    
      - Multiple information disclosure vulnerabilities exist in
        the Windows kernel due to improper initialization of
        objects in memory. An authenticated, remote attacker can
        exploit these, via a specially crafted application, to
        disclose the base address of the kernel driver.
        (CVE-2017-0299, CVE-2017-0300, CVE-2017-8462,
        CVE-2017-8485)
    
      - An information disclosure vulnerability exists in
        Microsoft Windows due to improper parsing of PDF files.
        An unauthenticated, remote attacker can exploit this, by
        convincing a user to open a specially crafted PDF file,
        to disclose the contents of memory. (CVE-2017-8460)
    
      - A remote code execution vulnerability exists in Windows
        due to improper handling of shortcuts. An
        unauthenticated, remote attacker can exploit this, by
        convincing a user to insert a removable drive containing
        a malicious shortcut and binary, to automatically
        execute arbitrary code in the context of the current
        user. (CVE-2017-8464)
    
      - Multiple elevation of privilege vulnerabilities exist in
        the Windows kernel-mode driver due to improper handling
        of objects in memory. A local attacker can exploit
        these, via a specially crafted application, to run
        processes in an elevated context. (CVE-2017-8465,
        CVE-2017-8466, CVE-2017-8468)
    
      - Multiple information disclosure vulnerabilities exist in
        the Windows kernel due to improper initialization of
        objects in memory. An authenticated, remote attacker can
        exploit these, via a specially crafted application, to
        disclose sensitive information. (CVE-2017-8470,
        CVE-2017-8471, CVE-2017-8473, CVE-2017-8474,
        CVE-2017-8475, CVE-2017-8476, CVE-2017-8477,
        CVE-2017-8478, CVE-2017-8479, CVE-2017-8480,
        CVE-2017-8481, CVE-2017-8482, CVE-2017-8483,
        CVE-2017-8484, CVE-2017-8489, CVE-2017-8490,
        CVE-2017-8491, CVE-2017-8492)
    
      - A security bypass vulnerability exists due to a failure
        to enforce case sensitivity for certain variable checks.
        A local attacker can exploit this, via a specially
        crafted application, to bypass Unified Extensible
        Firmware Interface (UEFI) variable security.
        (CVE-2017-8493)
    
      - An elevation of privilege vulnerability exists in the
        Windows Secure Kernel Mode feature due to a failure to
        properly handle objects in memory. A local attacker can
        exploit this, via a specially crafted application, to
        bypass virtual trust levels (VTL). (CVE-2017-8494)
    
      - Multiple remote code execution vulnerabilities exist in
        Microsoft browsers in the JavaScript engines due to
        improper handling of objects in memory. An
        unauthenticated, remote attacker can exploit these, by
        convincing a user to visit a specially crafted website,
        to execute arbitrary code in the context of the current
        user. (CVE-2017-8517, CVE-2017-8522, CVE-2017-8524,
        CVE-2017-8548)
    
      - A same-origin policy bypass vulnerability exists in
        Microsoft Edge due to a failure to properly apply the
        Same Origin Policy for HTML elements. An
        unauthenticated, remote attacker can exploit this, by
        convincing a user to follow a link, to load a page with
        malicious content. (CVE-2017-8523)
    
      - A remote code execution vulnerability exists in the
        Windows font library due to improper handling of
        embedded fonts. An unauthenticated, remote attacker can
        exploit this, by convincing a user to visit a specially
        crafted website or open a specially crafted Microsoft
        document, to execute arbitrary code in the context of
        the current user. (CVE-2017-8527)
    
      - A same-origin policy bypass vulnerability exists in
        Microsoft Edge due to a failure to properly enforce
        same-origin policies. An unauthenticated, remote
        attacker can exploit this, by convincing a user to visit
        a specially crafted website, to disclose information
        from origins outside the current one. (CVE-2017-8530)
    
      - A remote code execution vulnerability exists in the
        Windows Search functionality due to improper handling of
        objects in memory. An unauthenticated, remote attacker
        can exploit this, via a specially crafted SMB message,
        to execute arbitrary code. (CVE-2017-8543)
    
      - An information disclosure vulnerability exists in the
        Windows Search functionality due to improper handling of
        objects in memory. An unauthenticated, remote attacker
        can exploit this, via a specially crafted SMB message,
        to disclose sensitive information. (CVE-2017-8544)
    
      - A remote code execution vulnerability exists in Internet
        Explorer due to improper handling of objects in memory.
        An unauthenticated, remote attacker can exploit this, by
        convincing a user to visit a specially crafted website,
        to execute arbitrary code in the context of the current
        user. (CVE-2017-8547)
    
      - A remote code execution vulnerability exists in
        Microsoft Edge in the JavaScript scripting engine due to
        improper handling of objects in memory. An
        unauthenticated, remote attacker can exploit this, by
        convincing a user to visit a specially crafted website,
        to execute arbitrary code in the context of the current
        user. (CVE-2017-8549)
    
      - An information disclosure vulnerability exists in the
        Windows Graphics component due to improper handling of
        objects in memory. An authenticated, remote attacker can
        exploit this, via a specially crafted application, to
        disclose sensitive information. (CVE-2017-8575)
    
      - An elevation of privilege vulnerability exists in the
        Windows Graphics component due to improper
        initialization of objects in memory. A local attacker
        can exploit this, via a specially crafted application,
        to execute arbitrary code in kernel mode.
        (CVE-2017-8576)
    
      - An elevation of privilege vulnerability exists DirectX
        due to improper handling of objects in memory. A local
        attacker can exploit this, via a specially crafted
        application, to execute arbitrary code in kernel mode.
        (CVE-2017-8576)
    
      - An information disclosure vulnerability exists in the
        Windows kernel due to improper handling of objects in
        memory. An authenticated, remote attacker can exploit
        this, via a specially crafted application, to disclose
        the contents of memory. (CVE-2017-8554)");
    
      # https://support.microsoft.com/en-us/help/4022727/windows-10-update-kb4022727
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?05d092f6");
      script_set_attribute(attribute:"solution", value:
    "Apply security update KB4022727 as well as refer to the KB article for additional information.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/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:N/AC:L/PR:N/UI:N/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-8543");
    
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"exploited_by_malware", value:"true");
      script_set_attribute(attribute:"metasploit_name", value:'LNK Code Execution Vulnerability');
      script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
      script_set_attribute(attribute:"exploit_framework_canvas", value:"true");
      script_set_attribute(attribute:"canvas_package", value:'CANVAS');
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2017/06/13");
      script_set_attribute(attribute:"patch_publication_date", value:"2017/06/13");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/06/13");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:microsoft:windows");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows : Microsoft Bulletins");
    
      script_copyright(english:"This script is Copyright (C) 2017-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("smb_check_rollup.nasl", "smb_hotfixes.nasl", "ms_bulletin_checks_possible.nasl");
      script_require_keys("SMB/MS_Bulletin_Checks/Possible");
      script_require_ports(139, 445, "Host/patch_management_checks");
    
      exit(0);
    }
    
    include("audit.inc");
    include("smb_hotfixes_fcheck.inc");
    include("smb_hotfixes.inc");
    include("smb_func.inc");
    include("smb_reg_query.inc");
    include("misc_func.inc");
    
    get_kb_item_or_exit('SMB/MS_Bulletin_Checks/Possible');
    
    bulletin = 'MS17-06';
    kbs = make_list(
      '4022727' # 10 1507
    );
    
    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");
    get_kb_item_or_exit('SMB/WindowsVersion', exit_code:1);
    
    if (hotfix_check_sp_range(win10:'0') <= 0) audit(AUDIT_OS_SP_NOT_VULN);
    
    productname = get_kb_item_or_exit("SMB/ProductName", exit_code:1);
    if ("2016" >< productname) audit(AUDIT_OS_SP_NOT_VULN);
    
    if (
      # 10 (1507)
      smb_check_rollup(os:"10",
                       sp:0,
                       os_build:"10240",
                       rollup_date: "06_2017",
                       bulletin:bulletin,
                       rollup_kb_list:kbs)
      )
    {
      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, hotfix_get_audit_report());
    }
    
  • NASL familyWindows : Microsoft Bulletins
    NASL idSMB_NT_MS17_JUN_4022715.NASL
    descriptionThe remote Windows host is missing security update KB4022715. It is, therefore, affected by multiple vulnerabilities : - Multiple security bypass vulnerabilities exist in Device Guard. A local attacker can exploit these, via a specially crafted script, to bypass the Device Guard Code Integrity policy and inject arbitrary code into a trusted PowerShell process. (CVE-2017-0173, CVE-2017-0215, CVE-2017-0216, CVE-2017-0218, CVE-2017-0219) - An elevation of privilege vulnerability exists in Windows Hyper-V instruction emulation due to a failure to properly enforce privilege levels. An attacker on a guest operating system can exploit this to gain elevated privileges on the guest. Note that the host operating system is not vulnerable. (CVE-2017-0193) - Multiple information disclosure vulnerabilities exist in Windows Uniscribe due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit these, by convincing a user to visit a specially crafted website or open a specially crafted document, to disclose the contents of memory. (CVE-2017-0282, CVE-2017-0284, CVE-2017-0285) - A remote code execution vulnerability exists in Windows Uniscribe software due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit this, by convincing a user to visit a specially crafted website or to open a specially crafted document, to execute arbitrary code in the context of the current user. (CVE-2017-0283) - Multiple information disclosure vulnerabilities exist in the Windows GDI component due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit these, by convincing a user to visit a specially crafted website or open a specially crafted document, to disclose the contents of memory. (CVE-2017-0287, CVE-2017-0288, CVE-2017-0289, CVE-2017-8531, CVE-2017-8532, CVE-2017-8533) - Multiple remote code execution vulnerabilities exist in Microsoft Windows due to improper parsing of PDF files. An unauthenticated, remote attacker can exploit these, by convincing a user to open a specially crafted PDF file, to execute arbitrary code in the context of the current user. (CVE-2017-0291, CVE-2017-0292) - A remote code execution vulnerability exists in Microsoft Windows due to improper handling of cabinet files. An unauthenticated, remote attacker can exploit this, by convincing a user to open a specially crafted cabinet file, to execute arbitrary code in the context of the current user. (CVE-2017-0294) - A flaw exists in Microsoft Windows due to incorrect permissions being set on folders inside the DEFAULT folder structure. An authenticated, remote attacker can exploit this, by logging in to the affected system before the user can log in, to modify the user
    last seen2020-05-31
    modified2017-06-13
    plugin id100760
    published2017-06-13
    reporterThis script is Copyright (C) 2017-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/100760
    titleKB4022715: Windows 10 Version 1607 and Windows Server 2016 June 2017 Cumulative Update
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(100760);
      script_version("1.28");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/28");
    
      script_cve_id(
        "CVE-2017-0173",
        "CVE-2017-0193",
        "CVE-2017-0215",
        "CVE-2017-0216",
        "CVE-2017-0218",
        "CVE-2017-0219",
        "CVE-2017-0282",
        "CVE-2017-0283",
        "CVE-2017-0284",
        "CVE-2017-0285",
        "CVE-2017-0287",
        "CVE-2017-0288",
        "CVE-2017-0289",
        "CVE-2017-0291",
        "CVE-2017-0292",
        "CVE-2017-0294",
        "CVE-2017-0295",
        "CVE-2017-0296",
        "CVE-2017-0297",
        "CVE-2017-0298",
        "CVE-2017-0299",
        "CVE-2017-0300",
        "CVE-2017-8460",
        "CVE-2017-8462",
        "CVE-2017-8464",
        "CVE-2017-8465",
        "CVE-2017-8466",
        "CVE-2017-8468",
        "CVE-2017-8470",
        "CVE-2017-8471",
        "CVE-2017-8473",
        "CVE-2017-8474",
        "CVE-2017-8475",
        "CVE-2017-8476",
        "CVE-2017-8477",
        "CVE-2017-8478",
        "CVE-2017-8479",
        "CVE-2017-8480",
        "CVE-2017-8481",
        "CVE-2017-8482",
        "CVE-2017-8483",
        "CVE-2017-8484",
        "CVE-2017-8485",
        "CVE-2017-8489",
        "CVE-2017-8490",
        "CVE-2017-8491",
        "CVE-2017-8492",
        "CVE-2017-8493",
        "CVE-2017-8494",
        "CVE-2017-8496",
        "CVE-2017-8497",
        "CVE-2017-8498",
        "CVE-2017-8504",
        "CVE-2017-8515",
        "CVE-2017-8517",
        "CVE-2017-8518",
        "CVE-2017-8522",
        "CVE-2017-8523",
        "CVE-2017-8524",
        "CVE-2017-8527",
        "CVE-2017-8530",
        "CVE-2017-8531",
        "CVE-2017-8532",
        "CVE-2017-8533",
        "CVE-2017-8543",
        "CVE-2017-8544",
        "CVE-2017-8547",
        "CVE-2017-8548",
        "CVE-2017-8549",
        "CVE-2017-8553",
        "CVE-2017-8554",
        "CVE-2017-8575",
        "CVE-2017-8576",
        "CVE-2017-8579"
      );
      script_bugtraq_id(
        98818,
        98819,
        98820,
        98821,
        98824,
        98826,
        98833,
        98835,
        98836,
        98837,
        98839,
        98840,
        98843,
        98844,
        98845,
        98846,
        98847,
        98848,
        98849,
        98850,
        98852,
        98853,
        98854,
        98855,
        98856,
        98857,
        98858,
        98859,
        98860,
        98862,
        98863,
        98865,
        98867,
        98869,
        98870,
        98873,
        98878,
        98879,
        98880,
        98882,
        98884,
        98885,
        98886,
        98887,
        98892,
        98895,
        98896,
        98897,
        98898,
        98900,
        98901,
        98902,
        98903,
        98904,
        98914,
        98918,
        98920,
        98922,
        98923,
        98926,
        98928,
        98929,
        98930,
        98932,
        98933,
        98940,
        98942,
        98954,
        98955,
        99210,
        99212,
        99215
      );
      script_xref(name:"MSKB", value:"4022715");
      script_xref(name:"MSFT", value:"MS17-4022715");
    
      script_name(english:"KB4022715: Windows 10 Version 1607 and Windows Server 2016 June 2017 Cumulative Update");
      script_summary(english:"Checks for presence of the patch rollup.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote Windows host is affected by multiple vulnerabilities.");
      script_set_attribute(attribute:"description", value:
    "The remote Windows host is missing security update KB4022715. It is,
    therefore, affected by multiple vulnerabilities :
    
      - Multiple security bypass vulnerabilities exist in
        Device Guard. A local attacker can exploit these, via a
        specially crafted script, to bypass the Device Guard
        Code Integrity policy and inject arbitrary code into a
        trusted PowerShell process. (CVE-2017-0173,
        CVE-2017-0215, CVE-2017-0216, CVE-2017-0218,
        CVE-2017-0219)
    
      - An elevation of privilege vulnerability exists in
        Windows Hyper-V instruction emulation due to a failure
        to properly enforce privilege levels. An attacker on a
        guest operating system can exploit this to gain elevated
        privileges on the guest. Note that the host operating
        system is not vulnerable. (CVE-2017-0193)
    
      - Multiple information disclosure vulnerabilities exist in
        Windows Uniscribe due to improper handling of objects in
        memory. An unauthenticated, remote attacker can exploit
        these, by convincing a user to visit a specially crafted
        website or open a specially crafted document, to
        disclose the contents of memory. (CVE-2017-0282,
        CVE-2017-0284, CVE-2017-0285)
    
      - A remote code execution vulnerability exists in
        Windows Uniscribe software due to improper handling of
        objects in memory. An unauthenticated, remote attacker
        can exploit this, by convincing a user to visit a
        specially crafted website or to open a specially crafted
        document, to execute arbitrary code in the context
        of the current user. (CVE-2017-0283)
    
      - Multiple information disclosure vulnerabilities exist in
        the Windows GDI component due to improper handling of
        objects in memory. An unauthenticated, remote attacker
        can exploit these, by convincing a user to visit a
        specially crafted website or open a specially crafted
        document, to disclose the contents of memory.
        (CVE-2017-0287, CVE-2017-0288, CVE-2017-0289,
        CVE-2017-8531, CVE-2017-8532, CVE-2017-8533)
    
      - Multiple remote code execution vulnerabilities exist in
        Microsoft Windows due to improper parsing of PDF files.
        An unauthenticated, remote attacker can exploit these,
        by convincing a user to open a specially crafted PDF
        file, to execute arbitrary code in the context of the
        current user. (CVE-2017-0291, CVE-2017-0292)
    
      - A remote code execution vulnerability exists in
        Microsoft Windows due to improper handling of cabinet
        files. An unauthenticated, remote attacker can exploit
        this, by convincing a user to open a specially crafted
        cabinet file, to execute arbitrary code in the context
        of the current user. (CVE-2017-0294)
    
      - A flaw exists in Microsoft Windows due to incorrect
        permissions being set on folders inside the DEFAULT
        folder structure. An authenticated, remote attacker can
        exploit this, by logging in to the affected system
        before the user can log in, to modify the user's DEFAULT
        folder contents. (CVE-2017-0295)
    
      - An elevation of privilege vulnerability exists in
        tdx.sys due to a failure to check the length of a buffer
        prior to copying memory to it. A local attacker can
        exploit this, via a specially crafted application, to
        execute arbitrary code in an elevated context.
        (CVE-2017-0296)
    
      - An elevation of privilege vulnerability exists in the
        Windows kernel due to improper handling of objects in
        memory. A local attacker can exploit this, via a
        specially crafted application, to execute arbitrary code
        with elevated permissions. (CVE-2017-0297)
    
      - An elevation of privilege vulnerability exists in the
        DCOM object in Helppane.exe, when configured to run as
        the interactive user, due to a failure to properly
        authenticate the client. An authenticated, remote
        attacker can exploit this, via a specially crafted
        application, to run arbitrary code in another user's
        session after that user has logged on to the same system
        using Terminal Services or Fast User Switching.
        (CVE-2017-0298)
    
      - Multiple information disclosure vulnerabilities exist in
        the Windows kernel due to improper initialization of
        objects in memory. An authenticated, remote attacker can
        exploit these, via a specially crafted application, to
        disclose the base address of the kernel driver.
        (CVE-2017-0299, CVE-2017-0300, CVE-2017-8462,
        CVE-2017-8485)
    
      - An information disclosure vulnerability exists in
        Microsoft Windows due to improper parsing of PDF files.
        An unauthenticated, remote attacker can exploit this, by
        convincing a user to open a specially crafted PDF file,
        to disclose the contents of memory. (CVE-2017-8460)
    
      - A remote code execution vulnerability exists in Windows
        due to improper handling of shortcuts. An
        unauthenticated, remote attacker can exploit this, by
        convincing a user to insert a removable drive containing
        a malicious shortcut and binary, to automatically
        execute arbitrary code in the context of the current
        user. (CVE-2017-8464)
    
      - Multiple elevation of privilege vulnerabilities exist in
        the Windows kernel-mode driver due to improper handling
        of objects in memory. A local attacker can exploit
        these, via a specially crafted application, to run
        processes in an elevated context. (CVE-2017-8465,
        CVE-2017-8466, CVE-2017-8468)
    
      - Multiple information disclosure vulnerabilities exist in
        the Windows kernel due to improper initialization of
        objects in memory. An authenticated, remote attacker can
        exploit these, via a specially crafted application, to
        disclose sensitive information. (CVE-2017-8470,
        CVE-2017-8471, CVE-2017-8473, CVE-2017-8474,
        CVE-2017-8475, CVE-2017-8476, CVE-2017-8477,
        CVE-2017-8478, CVE-2017-8479, CVE-2017-8480,
        CVE-2017-8481, CVE-2017-8482, CVE-2017-8483,
        CVE-2017-8484, CVE-2017-8489, CVE-2017-8490,
        CVE-2017-8491, CVE-2017-8492)
    
      - A security bypass vulnerability exists due to a failure
        to enforce case sensitivity for certain variable checks.
        A local attacker can exploit this, via a specially
        crafted application, to bypass Unified Extensible
        Firmware Interface (UEFI) variable security.
        (CVE-2017-8493)
    
      - An elevation of privilege vulnerability exists in the
        Windows Secure Kernel Mode feature due to a failure to
        properly handle objects in memory. A local attacker can
        exploit this, via a specially crafted application, to
        bypass virtual trust levels (VTL). (CVE-2017-8494)
    
      - Multiple remote code execution vulnerabilities exist in
        Microsoft Edge due to improper handling of objects in
        memory. An unauthenticated, remote attacker can exploit
        these, by convincing a user to visit a specially crafted
        website, to execute arbitrary code in the context of the
        current user. (CVE-2017-8496, CVE-2017-8497)
    
      - An information disclosure vulnerability exists in
        Microsoft Edge due to improper handling of JavaScript
        XML DOM objects. An unauthenticated, remote attacker can
        exploit this, by convincing a user to visit a specially
        crafted website, to disclose sensitive information.
        (CVE-2017-8498)
    
      - An information disclosure vulnerability exists in
        Microsoft Edge in the Fetch API due to improper handling
        of filtered response types. An unauthenticated, remote
        attacker can exploit this, by convincing a user to visit
        a specially crafted website, to disclose sensitive
        information in the URL of a cross-origin request.
        (CVE-2017-8504)
    
      - A denial of service vulnerability exists in Windows due
        to improper handling of kernel mode requests. An
        unauthenticated, remote attacker can exploit this, via a
        specially crafted kernel mode request, to cause the
        machine to stop responding or rebooting. (CVE-2017-8515)
    
      - Multiple remote code execution vulnerabilities exist in
        Microsoft browsers in the JavaScript engines due to
        improper handling of objects in memory. An
        unauthenticated, remote attacker can exploit these, by
        convincing a user to visit a specially crafted website,
        to execute arbitrary code in the context of the current
        user. (CVE-2017-8517, CVE-2017-8522, CVE-2017-8524,
        CVE-2017-8548)
    
      - A same-origin policy bypass vulnerability exists in
        Microsoft Edge due to a failure to properly apply the
        Same Origin Policy for HTML elements. An
        unauthenticated, remote attacker can exploit this, by
        convincing a user to follow a link, to load a page with
        malicious content. (CVE-2017-8523)
    
      - A remote code execution vulnerability exists in the
        Windows font library due to improper handling of
        embedded fonts. An unauthenticated, remote attacker can
        exploit this, by convincing a user to visit a specially
        crafted website or open a specially crafted Microsoft
        document, to execute arbitrary code in the context of
        the current user. (CVE-2017-8527)
    
      - A same-origin policy bypass vulnerability exists in
        Microsoft Edge due to a failure to properly enforce
        same-origin policies. An unauthenticated, remote
        attacker can exploit this, by convincing a user to visit
        a specially crafted website, to disclose information
        from origins outside the current one. (CVE-2017-8530)
    
      - A remote code execution vulnerability exists in the
        Windows Search functionality due to improper handling of
        objects in memory. An unauthenticated, remote attacker
        can exploit this, via a specially crafted SMB message,
        to execute arbitrary code. (CVE-2017-8543)
    
      - An information disclosure vulnerability exists in the
        Windows Search functionality due to improper handling of
        objects in memory. An unauthenticated, remote attacker
        can exploit this, via a specially crafted SMB message,
        to disclose sensitive information. (CVE-2017-8544)
    
      - A remote code execution vulnerability exists in Internet
        Explorer due to improper handling of objects in memory.
        An unauthenticated, remote attacker can exploit this, by
        convincing a user to visit a specially crafted website,
        to execute arbitrary code in the context of the current
        user. (CVE-2017-8547)
    
      - A remote code execution vulnerability exists in
        Microsoft Edge in the JavaScript scripting engine due to
        improper handling of objects in memory. An
        unauthenticated, remote attacker can exploit this, by
        convincing a user to visit a specially crafted website,
        to execute arbitrary code in the context of the current
        user. (CVE-2017-8549)
    
      - Multiple information disclosure vulnerabilities exist in
        the Windows kernel due to improper handling of objects
        in memory. An authenticated, remote attacker can exploit
        these, via a specially crafted application, to disclose
        the contents of memory. (CVE-2017-8553, CVE-2017-8554)
    
      - An information disclosure vulnerability exists in the
        Windows Graphics component due to improper handling of
        objects in memory. An authenticated, remote attacker can
        exploit this, via a specially crafted application, to
        disclose sensitive information. (CVE-2017-8575)
    
      - An elevation of privilege vulnerability exists in the
        Windows Graphics component due to improper
        initialization of objects in memory. A local attacker
        can exploit this, via a specially crafted application,
        to execute arbitrary code in kernel mode.
        (CVE-2017-8576)
    
      - An elevation of privilege vulnerability exists DirectX
        due to improper handling of objects in memory. A local
        attacker can exploit this, via a specially crafted
        application, to execute arbitrary code in kernel mode.
        (CVE-2017-8576)
    ");
      # https://support.microsoft.com/en-us/help/4022715/windows-10-update-kb4022715
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?4ac6572f");
      script_set_attribute(attribute:"solution", value:
    "Apply security update KB4022715 as well as refer to the KB article for additional information.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/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:N/AC:L/PR:N/UI:N/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-8543");
    
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"exploited_by_malware", value:"true");
      script_set_attribute(attribute:"metasploit_name", value:'LNK Code Execution Vulnerability');
      script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
      script_set_attribute(attribute:"exploit_framework_canvas", value:"true");
      script_set_attribute(attribute:"canvas_package", value:'CANVAS');
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2017/06/13");
      script_set_attribute(attribute:"patch_publication_date", value:"2017/06/13");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/06/13");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:microsoft:windows");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows : Microsoft Bulletins");
    
      script_copyright(english:"This script is Copyright (C) 2017-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("smb_check_rollup.nasl", "smb_hotfixes.nasl", "ms_bulletin_checks_possible.nasl");
      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("misc_func.inc");
    
    get_kb_item_or_exit("SMB/MS_Bulletin_Checks/Possible");
    
    ## NB: Microsoft 
    bulletin = 'MS17-06';
    kbs = make_list('4022715');
    
    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");
    get_kb_item_or_exit("SMB/WindowsVersion", exit_code:1);
    
    # Update only applies to Window 10 1607 / Server 2016
    if (hotfix_check_sp_range(win10:'0') <= 0) 
      audit(AUDIT_OS_SP_NOT_VULN);
    
    if (hotfix_check_server_nano() == 1) audit(AUDIT_OS_NOT, "a currently supported OS (Windows Nano Server)");
    
    
    share = hotfix_get_systemdrive(as_share:TRUE, exit_on_fail:TRUE);
    if (!is_accessible_share(share:share)) audit(AUDIT_SHARE_FAIL, share);
    
    if (
      # Windows 10 1607 / Server 2016
      smb_check_rollup(
        os:"10",
        sp:0,
        os_build:"14393",
        rollup_date:"06_2017",
        bulletin:bulletin,
        rollup_kb_list:kbs)
    )
    {
      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, hotfix_get_audit_report());
    }
    
  • NASL familyWindows : Microsoft Bulletins
    NASL idSMB_NT_MS17_JUN_4022714.NASL
    descriptionThe remote Windows 10 version 1511 host is missing security update KB4022714. It is, therefore, affected by multiple vulnerabilities : - An elevation of privilege vulnerability exists in Windows Hyper-V instruction emulation due to a failure to properly enforce privilege levels. An attacker on a guest operating system can exploit this to gain elevated privileges on the guest. Note that the host operating system is not vulnerable. (CVE-2017-0193) - Multiple security bypass vulnerabilities exist in Device Guard. A local attacker can exploit these, via a specially crafted script, to bypass the Device Guard Code Integrity policy and inject arbitrary code into a trusted PowerShell process. (CVE-2017-0216, CVE-2017-0218, CVE-2017-0219) - Multiple information disclosure vulnerabilities exist in Windows Uniscribe due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit these, by convincing a user to visit a specially crafted website or to open a specially crafted document, to disclose the contents of memory. (CVE-2017-0282, CVE-2017-0284, CVE-2017-0285) - A remote code execution vulnerability exists in Windows Uniscribe software due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit this, by convincing a user to visit a specially crafted website or to open a specially crafted document, to execute arbitrary code in the context of the current user. (CVE-2017-0283) - Multiple information disclosure vulnerabilities exist in the Windows GDI component due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit these, by convincing a user to visit a specially crafted website or open a specially crafted document, to disclose the contents of memory. (CVE-2017-0287, CVE-2017-0288, CVE-2017-0289, CVE-2017-8531, CVE-2017-8532, CVE-2017-8533) - Multiple remote code execution vulnerabilities exist in Microsoft Windows due to improper parsing of PDF files. An unauthenticated, remote attacker can exploit these, by convincing a user to open a specially crafted PDF file, to execute arbitrary code in the context of the current user. (CVE-2017-0291, CVE-2017-0292) - A remote code execution vulnerability exists in Microsoft Windows due to improper handling of cabinet files. An unauthenticated, remote attacker can exploit this, by convincing a user to open a specially crafted cabinet file, to execute arbitrary code in the context of the current user. (CVE-2017-0294) - An elevation of privilege vulnerability exists in tdx.sys due to a failure to check the length of a buffer prior to copying memory to it. A local attacker can exploit this, via a specially crafted application, to execute arbitrary code in an elevated context. (CVE-2017-0296) - An elevation of privilege vulnerability exists in the Windows kernel due to improper handling of objects in memory. A local attacker can exploit this, via a specially crafted application, to execute arbitrary code with elevated permissions. (CVE-2017-0297) - An elevation of privilege vulnerability exists in the DCOM object in Helppane.exe, when configured to run as the interactive user, due to a failure to properly authenticate the client. An authenticated, remote attacker can exploit this, via a specially crafted application, to run arbitrary code in another user
    last seen2020-05-31
    modified2017-06-13
    plugin id100759
    published2017-06-13
    reporterThis script is Copyright (C) 2017-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/100759
    titleKB4022714: Windows 10 Version 1511 June 2017 Cumulative Update
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(100759);
      script_version("1.24");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/28");
    
      script_cve_id(
        "CVE-2017-0193",
        "CVE-2017-0216",
        "CVE-2017-0218",
        "CVE-2017-0219",
        "CVE-2017-0282",
        "CVE-2017-0283",
        "CVE-2017-0284",
        "CVE-2017-0285",
        "CVE-2017-0287",
        "CVE-2017-0288",
        "CVE-2017-0289",
        "CVE-2017-0291",
        "CVE-2017-0292",
        "CVE-2017-0294",
        "CVE-2017-0296",
        "CVE-2017-0297",
        "CVE-2017-0298",
        "CVE-2017-0299",
        "CVE-2017-0300",
        "CVE-2017-8460",
        "CVE-2017-8462",
        "CVE-2017-8464",
        "CVE-2017-8465",
        "CVE-2017-8466",
        "CVE-2017-8468",
        "CVE-2017-8470",
        "CVE-2017-8471",
        "CVE-2017-8473",
        "CVE-2017-8474",
        "CVE-2017-8475",
        "CVE-2017-8476",
        "CVE-2017-8477",
        "CVE-2017-8478",
        "CVE-2017-8479",
        "CVE-2017-8480",
        "CVE-2017-8481",
        "CVE-2017-8482",
        "CVE-2017-8483",
        "CVE-2017-8484",
        "CVE-2017-8485",
        "CVE-2017-8489",
        "CVE-2017-8490",
        "CVE-2017-8491",
        "CVE-2017-8492",
        "CVE-2017-8493",
        "CVE-2017-8494",
        "CVE-2017-8515",
        "CVE-2017-8517",
        "CVE-2017-8518",
        "CVE-2017-8522",
        "CVE-2017-8523",
        "CVE-2017-8524",
        "CVE-2017-8527",
        "CVE-2017-8530",
        "CVE-2017-8531",
        "CVE-2017-8532",
        "CVE-2017-8533",
        "CVE-2017-8543",
        "CVE-2017-8544",
        "CVE-2017-8547",
        "CVE-2017-8548",
        "CVE-2017-8549",
        "CVE-2017-8554",
        "CVE-2017-8575",
        "CVE-2017-8576",
        "CVE-2017-8579"
      );
      script_bugtraq_id(
        98818,
        98819,
        98820,
        98821,
        98824,
        98826,
        98833,
        98835,
        98836,
        98837,
        98839,
        98840,
        98843,
        98844,
        98845,
        98846,
        98847,
        98848,
        98849,
        98850,
        98852,
        98853,
        98854,
        98855,
        98856,
        98857,
        98858,
        98859,
        98860,
        98862,
        98863,
        98865,
        98867,
        98869,
        98870,
        98878,
        98884,
        98885,
        98887,
        98895,
        98896,
        98897,
        98898,
        98900,
        98901,
        98902,
        98903,
        98914,
        98918,
        98920,
        98922,
        98923,
        98926,
        98928,
        98929,
        98930,
        98932,
        98933,
        98942,
        98954,
        98955,
        99210,
        99212,
        99215
      );
      script_xref(name:"MSKB", value:"4022714");
      script_xref(name:"MSFT", value:"MS17-4022714");
    
      script_name(english:"KB4022714: Windows 10 Version 1511 June 2017 Cumulative Update");
      script_summary(english:"Checks for rollup.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote Windows host is affected by multiple vulnerabilities.");
      script_set_attribute(attribute:"description", value:
    "The remote Windows 10 version 1511 host is missing security update
    KB4022714. It is, therefore, affected by multiple vulnerabilities :
    
      - An elevation of privilege vulnerability exists in
        Windows Hyper-V instruction emulation due to a failure
        to properly enforce privilege levels. An attacker on a
        guest operating system can exploit this to gain elevated
        privileges on the guest. Note that the host operating
        system is not vulnerable. (CVE-2017-0193)
    
      - Multiple security bypass vulnerabilities exist in
        Device Guard. A local attacker can exploit these, via a
        specially crafted script, to bypass the Device Guard
        Code Integrity policy and inject arbitrary code into a
        trusted PowerShell process. (CVE-2017-0216,
        CVE-2017-0218, CVE-2017-0219)
    
      - Multiple information disclosure vulnerabilities exist in
        Windows Uniscribe due to improper handling of objects in
        memory. An unauthenticated, remote attacker can exploit
        these, by convincing a user to visit a specially crafted
        website or to open a specially crafted document, to
        disclose the contents of memory. (CVE-2017-0282,
        CVE-2017-0284, CVE-2017-0285)
    
      - A remote code execution vulnerability exists in
        Windows Uniscribe software due to improper handling of
        objects in memory. An unauthenticated, remote attacker
        can exploit this, by convincing a user to visit a
        specially crafted website or to open a specially crafted
        document, to execute arbitrary code in the context
        of the current user. (CVE-2017-0283)
    
      - Multiple information disclosure vulnerabilities exist in
        the Windows GDI component due to improper handling of
        objects in memory. An unauthenticated, remote attacker
        can exploit these, by convincing a user to visit a
        specially crafted website or open a specially crafted
        document, to disclose the contents of memory.
        (CVE-2017-0287, CVE-2017-0288, CVE-2017-0289,
        CVE-2017-8531, CVE-2017-8532, CVE-2017-8533)
    
      - Multiple remote code execution vulnerabilities exist in
        Microsoft Windows due to improper parsing of PDF files.
        An unauthenticated, remote attacker can exploit these,
        by convincing a user to open a specially crafted PDF
        file, to execute arbitrary code in the context of the
        current user. (CVE-2017-0291, CVE-2017-0292)
    
      - A remote code execution vulnerability exists in
        Microsoft Windows due to improper handling of cabinet
        files. An unauthenticated, remote attacker can exploit
        this, by convincing a user to open a specially crafted
        cabinet file, to execute arbitrary code in the context
        of the current user. (CVE-2017-0294)
    
      - An elevation of privilege vulnerability exists in
        tdx.sys due to a failure to check the length of a buffer
        prior to copying memory to it. A local attacker can
        exploit this, via a specially crafted application, to
        execute arbitrary code in an elevated context.
        (CVE-2017-0296)
    
      - An elevation of privilege vulnerability exists in the
        Windows kernel due to improper handling of objects in
        memory. A local attacker can exploit this, via a
        specially crafted application, to execute arbitrary code
        with elevated permissions. (CVE-2017-0297)
    
      - An elevation of privilege vulnerability exists in the
        DCOM object in Helppane.exe, when configured to run as
        the interactive user, due to a failure to properly
        authenticate the client. An authenticated, remote
        attacker can exploit this, via a specially crafted
        application, to run arbitrary code in another user's
        session after that user has logged on to the same system
        using Terminal Services or Fast User Switching.
        (CVE-2017-0298)
    
      - Multiple information disclosure vulnerabilities exist in
        the Windows kernel due to improper initialization of
        objects in memory. An authenticated, remote attacker can
        exploit these, via a specially crafted application, to
        disclose the base address of the kernel driver.
        (CVE-2017-0299, CVE-2017-0300, CVE-2017-8462,
        CVE-2017-8485)
    
      - An information disclosure vulnerability exists in
        Microsoft Windows due to improper parsing of PDF files.
        An unauthenticated, remote attacker can exploit this, by
        convincing a user to open a specially crafted PDF file,
        to disclose the contents of memory. (CVE-2017-8460)
    
      - A remote code execution vulnerability exists in Windows
        due to improper handling of shortcuts. An
        unauthenticated, remote attacker can exploit this, by
        convincing a user to insert a removable drive containing
        a malicious shortcut and binary, to automatically
        execute arbitrary code in the context of the current
        user. (CVE-2017-8464)
    
      - Multiple elevation of privilege vulnerabilities exist in
        the Windows kernel-mode driver due to improper handling
        of objects in memory. A local attacker can exploit
        these, via a specially crafted application, to run
        processes in an elevated context. (CVE-2017-8465,
        CVE-2017-8466, CVE-2017-8468)
    
      - Multiple information disclosure vulnerabilities exist in
        the Windows kernel due to improper initialization of
        objects in memory. An authenticated, remote attacker can
        exploit these, via a specially crafted application, to
        disclose sensitive information. (CVE-2017-8470,
        CVE-2017-8471, CVE-2017-8473, CVE-2017-8474,
        CVE-2017-8475, CVE-2017-8476, CVE-2017-8477,
        CVE-2017-8478, CVE-2017-8479, CVE-2017-8480,
        CVE-2017-8481, CVE-2017-8482, CVE-2017-8483,
        CVE-2017-8484, CVE-2017-8489, CVE-2017-8490,
        CVE-2017-8491, CVE-2017-8492)
    
      - A security bypass vulnerability exists due to a failure
        to enforce case sensitivity for certain variable checks.
        A local attacker can exploit this, via a specially
        crafted application, to bypass Unified Extensible
        Firmware Interface (UEFI) variable security.
        (CVE-2017-8493)
    
      - An elevation of privilege vulnerability exists in the
        Windows Secure Kernel Mode feature due to a failure to
        properly handle objects in memory. A local attacker can
        exploit this, via a specially crafted application, to
        bypass virtual trust levels (VTL). (CVE-2017-8494)
    
      - A denial of service vulnerability exists in Windows due
        to improper handling of kernel mode requests. An
        unauthenticated, remote attacker can exploit this, via a
        specially crafted kernel mode request, to cause the
        machine to stop responding or rebooting. (CVE-2017-8515)
    
      - Multiple remote code execution vulnerabilities exist in
        Microsoft browsers in the JavaScript engines due to
        improper handling of objects in memory. An
        unauthenticated, remote attacker can exploit these, by
        convincing a user to visit a specially crafted website,
        to execute arbitrary code in the context of the current
        user. (CVE-2017-8517, CVE-2017-8522, CVE-2017-8524,
        CVE-2017-8548)
    
      - A same-origin policy bypass vulnerability exists in
        Microsoft Edge due to a failure to properly apply the
        Same Origin Policy for HTML elements. An
        unauthenticated, remote attacker can exploit this, by
        convincing a user to follow a link, to load a page with
        malicious content. (CVE-2017-8523)
    
      - A remote code execution vulnerability exists in the
        Windows font library due to improper handling of
        embedded fonts. An unauthenticated, remote attacker can
        exploit this, by convincing a user to visit a specially
        crafted website or open a specially crafted Microsoft
        document, to execute arbitrary code in the context of
        the current user. (CVE-2017-8527)
    
      - A same-origin policy bypass vulnerability exists in
        Microsoft Edge due to a failure to properly enforce
        same-origin policies. An unauthenticated, remote
        attacker can exploit this, by convincing a user to visit
        a specially crafted website, to disclose information
        from origins outside the current one. (CVE-2017-8530)
    
      - A remote code execution vulnerability exists in the
        Windows Search functionality due to improper handling of
        objects in memory. An unauthenticated, remote attacker
        can exploit this, via a specially crafted SMB message,
        to execute arbitrary code. (CVE-2017-8543)
    
      - An information disclosure vulnerability exists in the
        Windows Search functionality due to improper handling of
        objects in memory. An unauthenticated, remote attacker
        can exploit this, via a specially crafted SMB message,
        to disclose sensitive information. (CVE-2017-8544)
    
      - A remote code execution vulnerability exists in Internet
        Explorer due to improper handling of objects in memory.
        An unauthenticated, remote attacker can exploit this, by
        convincing a user to visit a specially crafted website,
        to execute arbitrary code in the context of the current
        user. (CVE-2017-8547)
    
      - A remote code execution vulnerability exists in
        Microsoft Edge in the JavaScript scripting engine due to
        improper handling of objects in memory. An
        unauthenticated, remote attacker can exploit this, by
        convincing a user to visit a specially crafted website,
        to execute arbitrary code in the context of the current
        user. (CVE-2017-8549)
    
      - An information disclosure vulnerability exists in the
        Windows Graphics component due to improper handling of
        objects in memory. An authenticated, remote attacker can
        exploit this, via a specially crafted application, to
        disclose sensitive information. (CVE-2017-8575)
    
      - An elevation of privilege vulnerability exists in the
        Windows Graphics component due to improper
        initialization of objects in memory. A local attacker
        can exploit this, via a specially crafted application,
        to execute arbitrary code in kernel mode.
        (CVE-2017-8576)
    
      - An elevation of privilege vulnerability exists DirectX
        due to improper handling of objects in memory. A local
        attacker can exploit this, via a specially crafted
        application, to execute arbitrary code in kernel mode.
        (CVE-2017-8576)
    
      - An information disclosure vulnerability exists in the
        Windows kernel due to improper handling of objects in
        memory. An authenticated, remote attacker can exploit
        this, via a specially crafted application, to disclose
        the contents of memory. (CVE-2017-8554)");
      # https://support.microsoft.com/en-us/help/4022714/windows-10-update-kb4022714
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?46ed25c8");
      script_set_attribute(attribute:"solution", value:
    "Apply security update KB4022714 as well as refer to the KB article for additional information.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/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:N/AC:L/PR:N/UI:N/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-8543");
    
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"exploited_by_malware", value:"true");
      script_set_attribute(attribute:"metasploit_name", value:'LNK Code Execution Vulnerability');
      script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
      script_set_attribute(attribute:"exploit_framework_canvas", value:"true");
      script_set_attribute(attribute:"canvas_package", value:'CANVAS');
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2017/06/13");
      script_set_attribute(attribute:"patch_publication_date", value:"2017/06/13");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/06/13");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:microsoft:windows");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows : Microsoft Bulletins");
    
      script_copyright(english:"This script is Copyright (C) 2017-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("smb_hotfixes.nasl", "ms_bulletin_checks_possible.nasl", "smb_check_rollup.nasl");
      script_require_keys("SMB/MS_Bulletin_Checks/Possible");
      script_require_ports(139, 445, "Host/patch_management_checks");
    
      exit(0);
    }
    
    include("audit.inc");
    include("smb_hotfixes_fcheck.inc");
    include("smb_hotfixes.inc");
    include("smb_func.inc");
    include("smb_reg_query.inc");
    include("misc_func.inc");
    
    get_kb_item_or_exit('SMB/MS_Bulletin_Checks/Possible');
    
    bulletin = 'MS17-06';
    kb = make_list(
      '4022714' # 10 1151
    );
    
    if (get_kb_item('Host/patch_management_checks')) hotfix_check_3rd_party(bulletin:bulletin, kbs:kb, severity:SECURITY_HOLE);
    
    get_kb_item_or_exit("SMB/Registry/Enumerated");
    get_kb_item_or_exit('SMB/WindowsVersion', exit_code:1);
    
    if (hotfix_check_sp_range(win10:'0') <= 0) audit(AUDIT_OS_SP_NOT_VULN);
    
    productname = get_kb_item_or_exit("SMB/ProductName", exit_code:1);
    if ("2016" >< productname) audit(AUDIT_OS_SP_NOT_VULN);
    
    share = hotfix_get_systemdrive(exit_on_fail:TRUE, as_share:TRUE);
    if (!is_accessible_share(share:share)) audit(AUDIT_SHARE_FAIL, share);
    
    if (
      # 10 (1511)
      smb_check_rollup(os:"10",
                       sp:0,
                       os_build:"10586",
                       rollup_date: "06_2017",
                       bulletin:bulletin,
                       rollup_kb_list:make_list(4022714)))
    {
      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, hotfix_get_audit_report());
    }
    
  • NASL familyWindows : Microsoft Bulletins
    NASL idSMB_NT_MS17_JUN_4022725.NASL
    descriptionThe remote Windows 10 version 1703 host is missing security update KB4022725. It is, therefore, affected by multiple vulnerabilities : - Multiple information disclosure vulnerabilities exist in Windows Uniscribe due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit these, by convincing a user to visit a specially crafted website or to open a specially crafted document, to disclose the contents of memory. (CVE-2017-0282, CVE-2017-0285) - A remote code execution vulnerability exists in Windows Uniscribe software due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit this, by convincing a user to visit a specially crafted website or to open a specially crafted document, to execute arbitrary code in the context of the current user. (CVE-2017-0283) - Multiple information disclosure vulnerabilities exist in the Windows GDI component due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit these, by convincing a user to visit a specially crafted website or open a specially crafted document, to disclose the contents of memory. (CVE-2017-0287, CVE-2017-0288, CVE-2017-0289, CVE-2017-8531, CVE-2017-8532, CVE-2017-8533) - Multiple remote code execution vulnerabilities exist in Microsoft Windows due to improper parsing of PDF files. An unauthenticated, remote attacker can exploit these, by convincing a user to open a specially crafted PDF file, to execute arbitrary code in the context of the current user. (CVE-2017-0291, CVE-2017-0292) - A remote code execution vulnerability exists in Microsoft Windows due to improper handling of cabinet files. An unauthenticated, remote attacker can exploit this, by convincing a user to open a specially crafted cabinet file, to execute arbitrary code in the context of the current user. (CVE-2017-0294) - A flaw exists in Microsoft Windows due to incorrect permissions being set on folders inside the DEFAULT folder structure. An authenticated, remote attacker can exploit this, by logging in to the affected system before the user can log in, to modify the user
    last seen2020-05-31
    modified2017-06-13
    plugin id100763
    published2017-06-13
    reporterThis script is Copyright (C) 2017-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/100763
    titleKB4022725: Windows 10 Version 1703 June 2017 Cumulative Update
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(100763);
      script_version("1.24");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/28");
    
      script_cve_id(
        "CVE-2017-0282",
        "CVE-2017-0283",
        "CVE-2017-0285",
        "CVE-2017-0287",
        "CVE-2017-0288",
        "CVE-2017-0289",
        "CVE-2017-0291",
        "CVE-2017-0292",
        "CVE-2017-0294",
        "CVE-2017-0295",
        "CVE-2017-0296",
        "CVE-2017-0297",
        "CVE-2017-0298",
        "CVE-2017-0299",
        "CVE-2017-0300",
        "CVE-2017-8460",
        "CVE-2017-8462",
        "CVE-2017-8464",
        "CVE-2017-8465",
        "CVE-2017-8470",
        "CVE-2017-8471",
        "CVE-2017-8474",
        "CVE-2017-8475",
        "CVE-2017-8476",
        "CVE-2017-8477",
        "CVE-2017-8478",
        "CVE-2017-8479",
        "CVE-2017-8480",
        "CVE-2017-8481",
        "CVE-2017-8482",
        "CVE-2017-8483",
        "CVE-2017-8484",
        "CVE-2017-8485",
        "CVE-2017-8489",
        "CVE-2017-8490",
        "CVE-2017-8491",
        "CVE-2017-8492",
        "CVE-2017-8493",
        "CVE-2017-8498",
        "CVE-2017-8499",
        "CVE-2017-8504",
        "CVE-2017-8515",
        "CVE-2017-8517",
        "CVE-2017-8518",
        "CVE-2017-8520",
        "CVE-2017-8521",
        "CVE-2017-8522",
        "CVE-2017-8523",
        "CVE-2017-8524",
        "CVE-2017-8527",
        "CVE-2017-8530",
        "CVE-2017-8531",
        "CVE-2017-8532",
        "CVE-2017-8533",
        "CVE-2017-8543",
        "CVE-2017-8544",
        "CVE-2017-8547",
        "CVE-2017-8548",
        "CVE-2017-8549",
        "CVE-2017-8554",
        "CVE-2017-8555",
        "CVE-2017-8575",
        "CVE-2017-8576",
        "CVE-2017-8579"
      );
      script_bugtraq_id(
        98818,
        98819,
        98820,
        98821,
        98824,
        98826,
        98833,
        98835,
        98836,
        98837,
        98839,
        98840,
        98843,
        98845,
        98847,
        98848,
        98849,
        98850,
        98853,
        98854,
        98856,
        98857,
        98858,
        98859,
        98860,
        98862,
        98863,
        98865,
        98867,
        98869,
        98870,
        98883,
        98884,
        98885,
        98886,
        98887,
        98892,
        98895,
        98900,
        98901,
        98902,
        98903,
        98904,
        98914,
        98920,
        98922,
        98923,
        98925,
        98926,
        98928,
        98929,
        98930,
        98932,
        98933,
        98942,
        98954,
        98955,
        98956,
        99210,
        99212,
        99215
      );
      script_xref(name:"MSKB", value:"4022725");
      script_xref(name:"MSFT", value:"MS17-4022725");
    
      script_name(english:"KB4022725: Windows 10 Version 1703 June 2017 Cumulative Update");
      script_summary(english:"Checks for rollup.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote Windows host is affected by multiple vulnerabilities.");
      script_set_attribute(attribute:"description", value:
    "The remote Windows 10 version 1703 host is missing security update
    KB4022725. It is, therefore, affected by multiple vulnerabilities :
    
      - Multiple information disclosure vulnerabilities exist in
        Windows Uniscribe due to improper handling of objects in
        memory. An unauthenticated, remote attacker can exploit
        these, by convincing a user to visit a specially crafted
        website or to open a specially crafted document, to
        disclose the contents of memory. (CVE-2017-0282,
        CVE-2017-0285)
    
      - A remote code execution vulnerability exists in
        Windows Uniscribe software due to improper handling of
        objects in memory. An unauthenticated, remote attacker
        can exploit this, by convincing a user to visit a
        specially crafted website or to open a specially crafted
        document, to execute arbitrary code in the context
        of the current user. (CVE-2017-0283)
    
      - Multiple information disclosure vulnerabilities exist in
        the Windows GDI component due to improper handling of
        objects in memory. An unauthenticated, remote attacker
        can exploit these, by convincing a user to visit a
        specially crafted website or open a specially crafted
        document, to disclose the contents of memory.
        (CVE-2017-0287, CVE-2017-0288, CVE-2017-0289,
        CVE-2017-8531, CVE-2017-8532, CVE-2017-8533)
    
      - Multiple remote code execution vulnerabilities exist in
        Microsoft Windows due to improper parsing of PDF files.
        An unauthenticated, remote attacker can exploit these,
        by convincing a user to open a specially crafted PDF
        file, to execute arbitrary code in the context of the
        current user. (CVE-2017-0291, CVE-2017-0292)
    
      - A remote code execution vulnerability exists in
        Microsoft Windows due to improper handling of cabinet
        files. An unauthenticated, remote attacker can exploit
        this, by convincing a user to open a specially crafted
        cabinet file, to execute arbitrary code in the context
        of the current user. (CVE-2017-0294)
    
      - A flaw exists in Microsoft Windows due to incorrect
        permissions being set on folders inside the DEFAULT
        folder structure. An authenticated, remote attacker can
        exploit this, by logging in to the affected system
        before the user can log in, to modify the user's DEFAULT
        folder contents. (CVE-2017-0295)
    
      - An elevation of privilege vulnerability exists in
        tdx.sys due to a failure to check the length of a buffer
        prior to copying memory to it. A local attacker can
        exploit this, via a specially crafted application, to
        execute arbitrary code in an elevated context.
        (CVE-2017-0296)
    
      - An elevation of privilege vulnerability exists in the
        Windows kernel due to improper handling of objects in
        memory. A local attacker can exploit this, via a
        specially crafted application, to execute arbitrary code
        with elevated permissions. (CVE-2017-0297)
    
      - An elevation of privilege vulnerability exists in the
        DCOM object in Helppane.exe, when configured to run as
        the interactive user, due to a failure to properly
        authenticate the client. An authenticated, remote
        attacker can exploit this, via a specially crafted
        application, to run arbitrary code in another user's
        session after that user has logged on to the same system
        using Terminal Services or Fast User Switching.
        (CVE-2017-0298)
    
      - Multiple information disclosure vulnerabilities exist in
        the Windows kernel due to improper initialization of
        objects in memory. An authenticated, remote attacker can
        exploit these, via a specially crafted application, to
        disclose the base address of the kernel driver.
        (CVE-2017-0299, CVE-2017-0300, CVE-2017-8462,
        CVE-2017-8485)
    
      - An information disclosure vulnerability exists in
        Microsoft Windows due to improper parsing of PDF files.
        An unauthenticated, remote attacker can exploit this, by
        convincing a user to open a specially crafted PDF file,
        to disclose the contents of memory. (CVE-2017-8460)
    
      - A remote code execution vulnerability exists in Windows
        due to improper handling of shortcuts. An
        unauthenticated, remote attacker can exploit this, by
        convincing a user to insert a removable drive containing
        a malicious shortcut and binary, to automatically
        execute arbitrary code in the context of the current
        user. (CVE-2017-8464)
    
      - An elevation of privilege vulnerability exists in the
        Windows kernel-mode driver due to improper handling of
        objects in memory. A local attacker can exploit this,
        via a specially crafted application, to run processes in
        an elevated context. (CVE-2017-8465)
    
      - Multiple information disclosure vulnerabilities exist in
        the Windows kernel due to improper initialization of
        objects in memory. An authenticated, remote attacker can
        exploit these, via a specially crafted application, to
        disclose sensitive information. (CVE-2017-8470,
        CVE-2017-8471, CVE-2017-8474, CVE-2017-8475,
        CVE-2017-8476, CVE-2017-8477, CVE-2017-8478,
        CVE-2017-8479, CVE-2017-8480, CVE-2017-8481,
        CVE-2017-8482, CVE-2017-8483, CVE-2017-8484,
        CVE-2017-8489, CVE-2017-8490, CVE-2017-8491,
        CVE-2017-8492)
    
      - A security bypass vulnerability exists due to a failure
        to enforce case sensitivity for certain variable checks.
        A local attacker can exploit this, via a specially
        crafted application, to bypass Unified Extensible
        Firmware Interface (UEFI) variable security.
        (CVE-2017-8493)
    
      - An information disclosure vulnerability exists in
        Microsoft Edge due to improper handling of JavaScript
        XML DOM objects. An unauthenticated, remote attacker can
        exploit this, by convincing a user to visit a specially
        crafted website, to disclose sensitive information.
        (CVE-2017-8498)
    
      - A remote code execution vulnerability exists in
        Microsoft Edge in the JavaScript scripting engine due to
        improper handling of objects in memory. An
        unauthenticated, remote attacker can exploit this, by
        convincing a user to visit a specially crafted website
        or open a specially crafted Microsoft Office document,
        to execute arbitrary code in the context of the current
        user. (CVE-2017-8499)
    
      - An information disclosure vulnerability exists in
        Microsoft Edge in the Fetch API due to improper handling
        of filtered response types. An unauthenticated, remote
        attacker can exploit this, by convincing a user to visit
        a specially crafted website, to disclose sensitive
        information in the URL of a cross-origin request.
        (CVE-2017-8504)
    
      - A denial of service vulnerability exists in Windows due
        to improper handling of kernel mode requests. An
        unauthenticated, remote attacker can exploit this, via a
        specially crafted kernel mode request, to cause the
        machine to stop responding or rebooting. (CVE-2017-8515)
    
      - Multiple remote code execution vulnerabilities exist in
        Microsoft browsers in the JavaScript engines due to
        improper handling of objects in memory. An
        unauthenticated, remote attacker can exploit these, by
        convincing a user to visit a specially crafted website,
        to execute arbitrary code in the context of the current
        user. (CVE-2017-8517, CVE-2017-8522, CVE-2017-8524,
        CVE-2017-8548)
    
      - Multiple remote code execution vulnerabilities exist in
        Microsoft Edge in the JavaScript scripting engine due to
        improper handling of objects in memory. An
        unauthenticated, remote attacker can exploit these, by
        convincing a user to visit a specially crafted website,
        to execute arbitrary code in the context of the current
        user. (CVE-2017-8520, CVE-2017-8521, CVE-2017-8549)
    
      - A same-origin policy bypass vulnerability exists in
        Microsoft Edge due to a failure to properly apply the
        Same Origin Policy for HTML elements. An
        unauthenticated, remote attacker can exploit this, by
        convincing a user to follow a link, to load a page with
        malicious content. (CVE-2017-8523)
    
      - A remote code execution vulnerability exists in the
        Windows font library due to improper handling of
        embedded fonts. An unauthenticated, remote attacker can
        exploit this, by convincing a user to visit a specially
        crafted website or open a specially crafted Microsoft
        document, to execute arbitrary code in the context of
        the current user. (CVE-2017-8527)
    
      - A same-origin policy bypass vulnerability exists in
        Microsoft Edge due to a failure to properly enforce
        same-origin policies. An unauthenticated, remote
        attacker can exploit this, by convincing a user to visit
        a specially crafted website, to disclose information
        from origins outside the current one. (CVE-2017-8530)
    
      - A remote code execution vulnerability exists in the
        Windows Search functionality due to improper handling of
        objects in memory. An unauthenticated, remote attacker
        can exploit this, via a specially crafted SMB message,
        to execute arbitrary code. (CVE-2017-8543)
    
      - An information disclosure vulnerability exists in the
        Windows Search functionality due to improper handling of
        objects in memory. An unauthenticated, remote attacker
        can exploit this, via a specially crafted SMB message,
        to disclose sensitive information. (CVE-2017-8544)
    
      - A remote code execution vulnerability exists in Internet
        Explorer due to improper handling of objects in memory.
        An unauthenticated, remote attacker can exploit this, by
        convincing a user to visit a specially crafted website,
        to execute arbitrary code in the context of the current
        user. (CVE-2017-8547)
    
      - A security bypass vulnerability exists in Microsoft Edge
        in the Content Security Policy (CSP) due to improper
        validation of documents. An unauthenticated, remote
        attacker can exploit this, by convincing a user to
        follow a link, to cause the user to load a malicious
        website. (CVE-2017-8555)
    
      - An information disclosure vulnerability exists in the
        Windows Graphics component due to improper handling of
        objects in memory. An authenticated, remote attacker can
        exploit this, via a specially crafted application, to
        disclose sensitive information. (CVE-2017-8575)
    
      - An elevation of privilege vulnerability exists in the
        Windows Graphics component due to improper
        initialization of objects in memory. A local attacker
        can exploit this, via a specially crafted application,
        to execute arbitrary code in kernel mode.
        (CVE-2017-8576)
    
      - An elevation of privilege vulnerability exists DirectX
        due to improper handling of objects in memory. A local
        attacker can exploit this, via a specially crafted
        application, to execute arbitrary code in kernel mode.
        (CVE-2017-8576)
    
      - An information disclosure vulnerability exists in the
        Windows kernel due to improper handling of objects in
        memory. An authenticated, remote attacker can exploit
        this, via a specially crafted application, to disclose
        the contents of memory. (CVE-2017-8554)");
      # https://support.microsoft.com/en-us/help/4022725/windows-10-update-kb4022725
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?c538cc09");
      script_set_attribute(attribute:"solution", value:
    "Apply security update KB4022725 as well as refer to the KB article for additional information.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/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:N/AC:L/PR:N/UI:N/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-8543");
    
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"exploited_by_malware", value:"true");
      script_set_attribute(attribute:"metasploit_name", value:'LNK Code Execution Vulnerability');
      script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
      script_set_attribute(attribute:"exploit_framework_canvas", value:"true");
      script_set_attribute(attribute:"canvas_package", value:'CANVAS');
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2017/06/13");
      script_set_attribute(attribute:"patch_publication_date", value:"2017/06/13");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/06/13");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:microsoft:windows");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows : Microsoft Bulletins");
    
      script_copyright(english:"This script is Copyright (C) 2017-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("smb_hotfixes.nasl", "ms_bulletin_checks_possible.nasl", "smb_check_rollup.nasl");
      script_require_keys("SMB/MS_Bulletin_Checks/Possible");
      script_require_ports(139, 445, "Host/patch_management_checks");
    
      exit(0);
    }
    
    include("audit.inc");
    include("smb_hotfixes_fcheck.inc");
    include("smb_hotfixes.inc");
    include("smb_func.inc");
    include("smb_reg_query.inc");
    include("misc_func.inc");
    
    get_kb_item_or_exit('SMB/MS_Bulletin_Checks/Possible');
    
    bulletin = 'MS17-06';
    kbs = make_list(
      '4022725' # 10 1703 
    );
    
    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");
    get_kb_item_or_exit('SMB/WindowsVersion', exit_code:1);
    
    if (hotfix_check_sp_range(win10:'0') <= 0) audit(AUDIT_OS_SP_NOT_VULN);
    
    productname = get_kb_item_or_exit("SMB/ProductName", exit_code:1);
    if ("2016" >< productname) audit(AUDIT_OS_SP_NOT_VULN);
    
    if (
      # 10 (1703)
      smb_check_rollup(os:"10",
                       sp:0,
                       os_build:"15063",
                       rollup_date: "06_2017",
                       bulletin:bulletin,
                       rollup_kb_list:make_list(4022725))
      )
    {
      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, hotfix_get_audit_report());
    }