Vulnerabilities > CVE-2018-0826 - Unspecified vulnerability in Microsoft Windows 10 and Windows Server 2016

047910
CVSS 4.4 - MEDIUM
Attack vector
LOCAL
Attack complexity
MEDIUM
Privileges required
NONE
Confidentiality impact
PARTIAL
Integrity impact
PARTIAL
Availability impact
PARTIAL
local
microsoft
nessus
exploit available

Summary

Windows Storage Services in Windows 10 versions 1511, 1607, 1703 and 1709, Windows Server 2016 and Windows Server, version 1709 allows an elevation of privilege vulnerability due to the way objects are handled in memory, aka "Windows Storage Services Elevation of Privilege Vulnerability".

Exploit-Db

descriptionMicrosoft Windows - StorSvc SvcMoveFileInheritSecurity Arbitrary File Creation Privilege Escalation. CVE-2018-0826. Local exploit for Windows platform. Tags:...
fileexploits/windows/local/44152.txt
idEDB-ID:44152
last seen2018-02-20
modified2018-02-20
platformwindows
port
published2018-02-20
reporterExploit-DB
sourcehttps://www.exploit-db.com/download/44152/
titleMicrosoft Windows - StorSvc SvcMoveFileInheritSecurity Arbitrary File Creation Privilege Escalation
typelocal

Nessus

  • NASL familyWindows : Microsoft Bulletins
    NASL idSMB_NT_MS18_FEB_4074592.NASL
    descriptionThe remote Windows host is missing security update 4074592. It is, therefore, affected by multiple vulnerabilities : - An vulnerability exists within microprocessors utilizing speculative execution and indirect branch prediction, which may allow an attacker with local user access to disclose information via a side-channel analysis. (CVE-2017-5715, CVE-2017-5753, CVE-2017-5754) - A remote code execution vulnerability exists in the way that the scripting engine handles objects in memory in Internet Explorer. The vulnerability could corrupt memory in such a way that an attacker could execute arbitrary code in the context of the current user. An attacker who successfully exploited the vulnerability could gain the same user rights as the current user. (CVE-2018-0866) - A security feature bypass vulnerability exists in Windows Scripting Host which could allow an attacker to bypass Device Guard. An attacker who successfully exploited this vulnerability could circumvent a User Mode Code Integrity (UMCI) policy on the machine. (CVE-2018-0827) - An information disclosure vulnerability exists when the Windows kernel improperly handles objects in memory. An attacker who successfully exploited this vulnerability could obtain information to further compromise the users system. (CVE-2018-0757, CVE-2018-0829, CVE-2018-0830) - An information disclosure vulnerability exists when Microsoft Edge improperly handles objects in memory. An attacker who successfully exploited the vulnerability could obtain information to further compromise the users system. (CVE-2018-0763, CVE-2018-0839) - An information disclosure vulnerability exists when VBScript improperly discloses the contents of its memory, which could provide an attacker with information to further compromise the users computer or data. (CVE-2018-0847) - A remote code execution vulnerability exists in StructuredQuery 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-2018-0825) - A remote code execution vulnerability exists in the way that the scripting engine handles objects in memory in Microsoft Edge. The vulnerability could corrupt memory in such a way that an attacker could execute arbitrary code in the context of the current user. An attacker who successfully exploited the vulnerability could gain the same user rights as the current user. (CVE-2018-0834, CVE-2018-0835, CVE-2018-0836, CVE-2018-0837, CVE-2018-0838, CVE-2018-0856, CVE-2018-0857, CVE-2018-0859, CVE-2018-0860, CVE-2018-0861) - An elevation of privilege vulnerability exists when NTFS improperly handles objects. An attacker who successfully exploited this vulnerability could run processes in an elevated context. (CVE-2018-0822) - An elevation of privilege vulnerability exists when AppContainer improperly implements constrained impersonation. An attacker who successfully exploited this vulnerability could run processes in an elevated context. (CVE-2018-0821) - A remote code execution vulnerability exists when Windows improperly handles objects in memory. An attacker who successfully exploited these vulnerabilities could take control of an affected system. (CVE-2018-0842) - An elevation of privilege vulnerability exists when the Windows Common Log File System (CLFS) driver improperly handles objects in memory. An attacker who successfully exploited this vulnerability could run processes in an elevated context. (CVE-2018-0844, CVE-2018-0846) - An information disclosure vulnerability exists in the Windows kernel that could allow an attacker to retrieve information that could lead to a Kernel Address Space Layout Randomization (ASLR) bypass. An attacker who successfully exploited the vulnerability could retrieve the memory address of a kernel object. (CVE-2018-0832) - An elevation of privilege vulnerability exists when the Windows kernel fails to properly handle objects in memory. An attacker who successfully exploited this vulnerability could run arbitrary code in kernel mode. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. (CVE-2018-0809) - An elevation of privilege vulnerability exists in the way that the Windows Kernel handles objects in memory. An attacker who successfully exploited the vulnerability could execute code with elevated permissions. (CVE-2018-0742, CVE-2018-0756, CVE-2018-0820, CVE-2018-0831) - A security feature bypass vulnerability exists when Microsoft Edge improperly handles requests of different origins. The vulnerability allows Microsoft Edge to bypass Same-Origin Policy (SOP) restrictions, and to allow requests that should otherwise be ignored. An attacker who successfully exploited the vulnerability could force the browser to send data that would otherwise be restricted. (CVE-2018-0771) - A remote code execution vulnerability exists in the way the scripting engine handles objects in memory in Microsoft browsers. The vulnerability could corrupt memory in such a way that an attacker could execute arbitrary code in the context of the current user. An attacker who successfully exploited the vulnerability could gain the same user rights as the current user. (CVE-2018-0840) - An elevation of privilege vulnerability exists when Storage Services improperly handles objects in memory. An attacker who successfully exploited this vulnerability could run processes in an elevated context. (CVE-2018-0826)
    last seen2020-06-01
    modified2020-06-02
    plugin id106798
    published2018-02-13
    reporterThis script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/106798
    titleKB4074592: Windows 10 Version 1703 February 2018 Security Update (Meltdown)(Spectre)
    code
    #
    # (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(106798);
      script_version("1.9");
      script_cvs_date("Date: 2019/11/08");
    
      script_cve_id(
        "CVE-2017-5715",
        "CVE-2017-5753",
        "CVE-2017-5754",
        "CVE-2018-0742",
        "CVE-2018-0756",
        "CVE-2018-0757",
        "CVE-2018-0763",
        "CVE-2018-0771",
        "CVE-2018-0809",
        "CVE-2018-0820",
        "CVE-2018-0821",
        "CVE-2018-0822",
        "CVE-2018-0825",
        "CVE-2018-0826",
        "CVE-2018-0827",
        "CVE-2018-0829",
        "CVE-2018-0830",
        "CVE-2018-0831",
        "CVE-2018-0832",
        "CVE-2018-0834",
        "CVE-2018-0835",
        "CVE-2018-0836",
        "CVE-2018-0837",
        "CVE-2018-0838",
        "CVE-2018-0839",
        "CVE-2018-0840",
        "CVE-2018-0842",
        "CVE-2018-0844",
        "CVE-2018-0846",
        "CVE-2018-0847",
        "CVE-2018-0856",
        "CVE-2018-0857",
        "CVE-2018-0859",
        "CVE-2018-0860",
        "CVE-2018-0861",
        "CVE-2018-0866"
      );
      script_xref(name:"MSKB", value:"4074592");
      script_xref(name:"IAVA", value:"2018-A-0019");
      script_xref(name:"IAVA", value:"2018-A-0020");
      script_xref(name:"MSFT", value:"MS18-4074592");
    
      script_name(english:"KB4074592: Windows 10 Version 1703 February 2018 Security Update (Meltdown)(Spectre)");
      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 host is missing security update 4074592.
    It is, therefore, affected by multiple vulnerabilities :
    
      - An vulnerability exists within microprocessors utilizing
        speculative execution and indirect branch prediction,
        which may allow an attacker with local user access to
        disclose information via a side-channel analysis.
        (CVE-2017-5715, CVE-2017-5753, CVE-2017-5754)
    
      - A remote code execution vulnerability exists in the way
        that the scripting engine handles objects in memory in
        Internet Explorer. The vulnerability could corrupt
        memory in such a way that an attacker could execute
        arbitrary code in the context of the current user. An
        attacker who successfully exploited the vulnerability
        could gain the same user rights as the current user.
        (CVE-2018-0866)
    
      - A security feature bypass vulnerability exists in
        Windows Scripting Host which could allow an attacker to
        bypass Device Guard. An attacker who successfully
        exploited this vulnerability could circumvent a User
        Mode Code Integrity (UMCI) policy on the machine.
        (CVE-2018-0827)
    
      - An information disclosure vulnerability exists when the
        Windows kernel improperly handles objects in memory. An
        attacker who successfully exploited this vulnerability
        could obtain information to further compromise the users
        system.  (CVE-2018-0757, CVE-2018-0829, CVE-2018-0830)
    
      - An information disclosure vulnerability exists when
        Microsoft Edge improperly handles objects in memory. An
        attacker who successfully exploited the vulnerability
        could obtain information to further compromise the users
        system.  (CVE-2018-0763, CVE-2018-0839)
    
      - An information disclosure vulnerability exists when
        VBScript improperly discloses the contents of its
        memory, which could provide an attacker with information
        to further compromise the users computer or data.
        (CVE-2018-0847)
    
      - A remote code execution vulnerability exists in
        StructuredQuery 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-2018-0825)
    
      - A remote code execution vulnerability exists in the way
        that the scripting engine handles objects in memory in
        Microsoft Edge. The vulnerability could corrupt memory
        in such a way that an attacker could execute arbitrary
        code in the context of the current user. An attacker who
        successfully exploited the vulnerability could gain the
        same user rights as the current user.  (CVE-2018-0834,
        CVE-2018-0835, CVE-2018-0836, CVE-2018-0837,
        CVE-2018-0838, CVE-2018-0856, CVE-2018-0857,
        CVE-2018-0859, CVE-2018-0860, CVE-2018-0861)
    
      - An elevation of privilege vulnerability exists when NTFS
        improperly handles objects. An attacker who successfully
        exploited this vulnerability could run processes in an
        elevated context.  (CVE-2018-0822)
    
      - An elevation of privilege vulnerability exists when
        AppContainer improperly implements constrained
        impersonation. An attacker who successfully exploited
        this vulnerability could run processes in an elevated
        context.  (CVE-2018-0821)
    
      - A remote code execution vulnerability exists when
        Windows improperly handles objects in memory. An
        attacker who successfully exploited these
        vulnerabilities could take control of an affected
        system.  (CVE-2018-0842)
    
      - An elevation of privilege vulnerability exists when the
        Windows Common Log File System (CLFS) driver improperly
        handles objects in memory. An attacker who successfully
        exploited this vulnerability could run processes in an
        elevated context.  (CVE-2018-0844, CVE-2018-0846)
    
      - An information disclosure vulnerability exists in the
        Windows kernel that could allow an attacker to retrieve
        information that could lead to a Kernel Address Space
        Layout Randomization (ASLR) bypass. An attacker who
        successfully exploited the vulnerability could retrieve
        the memory address of a kernel object.  (CVE-2018-0832)
    
      - An elevation of privilege vulnerability exists when the
        Windows kernel fails to properly handle objects in
        memory. An attacker who successfully exploited this
        vulnerability could run arbitrary code in kernel mode.
        An attacker could then install programs; view, change,
        or delete data; or create new accounts with full user
        rights.  (CVE-2018-0809)
    
      - An elevation of privilege vulnerability exists in the
        way that the Windows Kernel handles objects in memory.
        An attacker who successfully exploited the vulnerability
        could execute code with elevated permissions.
        (CVE-2018-0742, CVE-2018-0756, CVE-2018-0820,
        CVE-2018-0831)
    
      - A security feature bypass vulnerability exists when
        Microsoft Edge improperly handles requests of different
        origins. The vulnerability allows Microsoft Edge to
        bypass Same-Origin Policy (SOP) restrictions, and to
        allow requests that should otherwise be ignored. An
        attacker who successfully exploited the vulnerability
        could force the browser to send data that would
        otherwise be restricted.  (CVE-2018-0771)
    
      - A remote code execution vulnerability exists in the way
        the scripting engine handles objects in memory in
        Microsoft browsers. The vulnerability could corrupt
        memory in such a way that an attacker could execute
        arbitrary code in the context of the current user. An
        attacker who successfully exploited the vulnerability
        could gain the same user rights as the current user.
        (CVE-2018-0840)
    
      - An elevation of privilege vulnerability exists when
        Storage Services improperly handles objects in memory.
        An attacker who successfully exploited this
        vulnerability could run processes in an elevated
        context.  (CVE-2018-0826)");
      # https://support.microsoft.com/en-us/help/4074592/windows-10-update-kb4074592
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?66620b53");
      # https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV180002
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?573cb1ef");
      script_set_attribute(attribute:"solution", value:
    "Apply Cumulative Update KB4074592.");
      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:N/AC:H/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-2018-0866");
    
      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:"exploit_framework_canvas", value:"true");
      script_set_attribute(attribute:"canvas_package", value:'CANVAS');
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2018/02/13");
      script_set_attribute(attribute:"patch_publication_date", value:"2018/02/13");
      script_set_attribute(attribute:"plugin_publication_date", value:"2018/02/13");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:microsoft:windows");
      script_set_attribute(attribute:"stig_severity", value:"I");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows : Microsoft Bulletins");
    
      script_copyright(english:"This script is Copyright (C) 2018-2019 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("misc_func.inc");
    
    get_kb_item_or_exit("SMB/MS_Bulletin_Checks/Possible");
    
    bulletin = "MS18-02";
    kbs = make_list('4074592');
    
    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);
    
    share = hotfix_get_systemdrive(as_share:TRUE, exit_on_fail:TRUE);
    if (!is_accessible_share(share:share)) audit(AUDIT_SHARE_FAIL, share);
    
    if (
      smb_check_rollup(os:"10",
                       sp:0,
                       os_build:"15063",
                       rollup_date:"02_2018",
                       bulletin:bulletin,
                       rollup_kb_list:[4074592])
    )
    {
      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_MS18_FEB_4074591.NASL
    descriptionThe remote Windows host is missing security update 4074591. It is, therefore, affected by multiple vulnerabilities : - An vulnerability exists within microprocessors utilizing speculative execution and indirect branch prediction, which may allow an attacker with local user access to disclose information via a side-channel analysis. (CVE-2017-5715, CVE-2017-5753, CVE-2017-5754) - A remote code execution vulnerability exists in the way that the scripting engine handles objects in memory in Internet Explorer. The vulnerability could corrupt memory in such a way that an attacker could execute arbitrary code in the context of the current user. An attacker who successfully exploited the vulnerability could gain the same user rights as the current user. (CVE-2018-0866) - An information disclosure vulnerability exists when the Windows kernel improperly handles objects in memory. An attacker who successfully exploited this vulnerability could obtain information to further compromise the users system. (CVE-2018-0757, CVE-2018-0829, CVE-2018-0830) - An elevation of privilege vulnerability exists in the way that the Windows Kernel handles objects in memory. An attacker who successfully exploited the vulnerability could execute code with elevated permissions. (CVE-2018-0742, CVE-2018-0756, CVE-2018-0820) - An information disclosure vulnerability exists when VBScript improperly discloses the contents of its memory, which could provide an attacker with information to further compromise the users computer or data. (CVE-2018-0847) - A remote code execution vulnerability exists in StructuredQuery 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-2018-0825) - An elevation of privilege vulnerability exists when Storage Services improperly handles objects in memory. An attacker who successfully exploited this vulnerability could run processes in an elevated context. (CVE-2018-0826) - An elevation of privilege vulnerability exists when NTFS improperly handles objects. An attacker who successfully exploited this vulnerability could run processes in an elevated context. (CVE-2018-0822) - A remote code execution vulnerability exists in the way that the scripting engine handles objects in memory in Microsoft Edge. The vulnerability could corrupt memory in such a way that an attacker could execute arbitrary code in the context of the current user. An attacker who successfully exploited the vulnerability could gain the same user rights as the current user. (CVE-2018-0834, CVE-2018-0835, CVE-2018-0837, CVE-2018-0838, CVE-2018-0857, CVE-2018-0859, CVE-2018-0860) - An elevation of privilege vulnerability exists when AppContainer improperly implements constrained impersonation. An attacker who successfully exploited this vulnerability could run processes in an elevated context. (CVE-2018-0821) - A remote code execution vulnerability exists when Windows improperly handles objects in memory. An attacker who successfully exploited these vulnerabilities could take control of an affected system. (CVE-2018-0842) - A remote code execution vulnerability exists in the way the scripting engine handles objects in memory in Microsoft browsers. The vulnerability could corrupt memory in such a way that an attacker could execute arbitrary code in the context of the current user. An attacker who successfully exploited the vulnerability could gain the same user rights as the current user. (CVE-2018-0840) - An information disclosure vulnerability exists in the Windows kernel that could allow an attacker to retrieve information that could lead to a Kernel Address Space Layout Randomization (ASLR) bypass. An attacker who successfully exploited the vulnerability could retrieve the memory address of a kernel object. (CVE-2018-0832) - An elevation of privilege vulnerability exists when the Windows Common Log File System (CLFS) driver improperly handles objects in memory. An attacker who successfully exploited this vulnerability could run processes in an elevated context. (CVE-2018-0844, CVE-2018-0846)
    last seen2020-06-01
    modified2020-06-02
    plugin id106797
    published2018-02-13
    reporterThis script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/106797
    titleKB4074591: Windows 10 Version 1511 February 2018 Security Update (Meltdown)(Spectre)
    code
    #
    # (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(106797);
      script_version("1.9");
      script_cvs_date("Date: 2019/11/08");
    
      script_cve_id(
        "CVE-2017-5715",
        "CVE-2017-5753",
        "CVE-2017-5754",
        "CVE-2018-0742",
        "CVE-2018-0756",
        "CVE-2018-0757",
        "CVE-2018-0820",
        "CVE-2018-0821",
        "CVE-2018-0822",
        "CVE-2018-0825",
        "CVE-2018-0826",
        "CVE-2018-0829",
        "CVE-2018-0830",
        "CVE-2018-0832",
        "CVE-2018-0834",
        "CVE-2018-0835",
        "CVE-2018-0837",
        "CVE-2018-0838",
        "CVE-2018-0840",
        "CVE-2018-0842",
        "CVE-2018-0844",
        "CVE-2018-0846",
        "CVE-2018-0847",
        "CVE-2018-0857",
        "CVE-2018-0859",
        "CVE-2018-0860",
        "CVE-2018-0866"
      );
      script_xref(name:"MSKB", value:"4074591");
      script_xref(name:"IAVA", value:"2018-A-0019");
      script_xref(name:"IAVA", value:"2018-A-0020");
      script_xref(name:"MSFT", value:"MS18-4074591");
    
      script_name(english:"KB4074591: Windows 10 Version 1511 February 2018 Security Update (Meltdown)(Spectre)");
      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 host is missing security update 4074591.
    It is, therefore, affected by multiple vulnerabilities :
    
      - An vulnerability exists within microprocessors utilizing
        speculative execution and indirect branch prediction,
        which may allow an attacker with local user access to
        disclose information via a side-channel analysis.
        (CVE-2017-5715, CVE-2017-5753, CVE-2017-5754)
    
      - A remote code execution vulnerability exists in the way
        that the scripting engine handles objects in memory in
        Internet Explorer. The vulnerability could corrupt
        memory in such a way that an attacker could execute
        arbitrary code in the context of the current user. An
        attacker who successfully exploited the vulnerability
        could gain the same user rights as the current user.
        (CVE-2018-0866)
    
      - An information disclosure vulnerability exists when the
        Windows kernel improperly handles objects in memory. An
        attacker who successfully exploited this vulnerability
        could obtain information to further compromise the users
        system.  (CVE-2018-0757, CVE-2018-0829, CVE-2018-0830)
    
      - An elevation of privilege vulnerability exists in the
        way that the Windows Kernel handles objects in memory.
        An attacker who successfully exploited the vulnerability
        could execute code with elevated permissions.
        (CVE-2018-0742, CVE-2018-0756, CVE-2018-0820)
    
      - An information disclosure vulnerability exists when
        VBScript improperly discloses the contents of its
        memory, which could provide an attacker with information
        to further compromise the users computer or data.
        (CVE-2018-0847)
    
      - A remote code execution vulnerability exists in
        StructuredQuery 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-2018-0825)
    
      - An elevation of privilege vulnerability exists when
        Storage Services improperly handles objects in memory.
        An attacker who successfully exploited this
        vulnerability could run processes in an elevated
        context.  (CVE-2018-0826)
    
      - An elevation of privilege vulnerability exists when NTFS
        improperly handles objects. An attacker who successfully
        exploited this vulnerability could run processes in an
        elevated context.  (CVE-2018-0822)
    
      - A remote code execution vulnerability exists in the way
        that the scripting engine handles objects in memory in
        Microsoft Edge. The vulnerability could corrupt memory
        in such a way that an attacker could execute arbitrary
        code in the context of the current user. An attacker who
        successfully exploited the vulnerability could gain the
        same user rights as the current user.  (CVE-2018-0834,
        CVE-2018-0835, CVE-2018-0837, CVE-2018-0838,
        CVE-2018-0857, CVE-2018-0859, CVE-2018-0860)
    
      - An elevation of privilege vulnerability exists when
        AppContainer improperly implements constrained
        impersonation. An attacker who successfully exploited
        this vulnerability could run processes in an elevated
        context.  (CVE-2018-0821)
    
      - A remote code execution vulnerability exists when
        Windows improperly handles objects in memory. An
        attacker who successfully exploited these
        vulnerabilities could take control of an affected
        system.  (CVE-2018-0842)
    
      - A remote code execution vulnerability exists in the way
        the scripting engine handles objects in memory in
        Microsoft browsers. The vulnerability could corrupt
        memory in such a way that an attacker could execute
        arbitrary code in the context of the current user. An
        attacker who successfully exploited the vulnerability
        could gain the same user rights as the current user.
        (CVE-2018-0840)
    
      - An information disclosure vulnerability exists in the
        Windows kernel that could allow an attacker to retrieve
        information that could lead to a Kernel Address Space
        Layout Randomization (ASLR) bypass. An attacker who
        successfully exploited the vulnerability could retrieve
        the memory address of a kernel object.  (CVE-2018-0832)
    
      - An elevation of privilege vulnerability exists when the
        Windows Common Log File System (CLFS) driver improperly
        handles objects in memory. An attacker who successfully
        exploited this vulnerability could run processes in an
        elevated context.  (CVE-2018-0844, CVE-2018-0846)");
      # https://support.microsoft.com/en-us/help/4074591/windows-10-update-kb4074591
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?045c2f89");
      # https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV180002
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?573cb1ef");
      script_set_attribute(attribute:"solution", value:
    "Apply Cumulative Update KB4074591.");
      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:N/AC:H/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-2018-0866");
    
      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:"exploit_framework_canvas", value:"true");
      script_set_attribute(attribute:"canvas_package", value:'CANVAS');
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2018/02/13");
      script_set_attribute(attribute:"patch_publication_date", value:"2018/02/13");
      script_set_attribute(attribute:"plugin_publication_date", value:"2018/02/13");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:microsoft:windows");
      script_set_attribute(attribute:"stig_severity", value:"I");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows : Microsoft Bulletins");
    
      script_copyright(english:"This script is Copyright (C) 2018-2019 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("misc_func.inc");
    
    get_kb_item_or_exit("SMB/MS_Bulletin_Checks/Possible");
    
    bulletin = "MS18-02";
    kbs = make_list('4074591');
    
    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);
    
    share = hotfix_get_systemdrive(as_share:TRUE, exit_on_fail:TRUE);
    if (!is_accessible_share(share:share)) audit(AUDIT_SHARE_FAIL, share);
    
    if (
      smb_check_rollup(os:"10",
                       sp:0,
                       os_build:"10586",
                       rollup_date:"02_2018",
                       bulletin:bulletin,
                       rollup_kb_list:[4074591])
    )
    {
      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_MS18_FEB_4074590.NASL
    descriptionThe remote Windows host is missing security update 4074590. It is, therefore, affected by multiple vulnerabilities : - An vulnerability exists within microprocessors utilizing speculative execution and indirect branch prediction, which may allow an attacker with local user access to disclose information via a side-channel analysis. (CVE-2017-5715, CVE-2017-5753, CVE-2017-5754) - A remote code execution vulnerability exists in the way that the scripting engine handles objects in memory in Internet Explorer. The vulnerability could corrupt memory in such a way that an attacker could execute arbitrary code in the context of the current user. An attacker who successfully exploited the vulnerability could gain the same user rights as the current user. (CVE-2018-0866) - An information disclosure vulnerability exists when the Windows kernel improperly handles objects in memory. An attacker who successfully exploited this vulnerability could obtain information to further compromise the users system. (CVE-2018-0757, CVE-2018-0829, CVE-2018-0830) - A remote code execution vulnerability exists when Windows improperly handles objects in memory. An attacker who successfully exploited these vulnerabilities could take control of an affected system. (CVE-2018-0842) - A remote code execution vulnerability exists in StructuredQuery 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-2018-0825) - An elevation of privilege vulnerability exists when Storage Services improperly handles objects in memory. An attacker who successfully exploited this vulnerability could run processes in an elevated context. (CVE-2018-0826) - An elevation of privilege vulnerability exists when NTFS improperly handles objects. An attacker who successfully exploited this vulnerability could run processes in an elevated context. (CVE-2018-0822) - A remote code execution vulnerability exists in the way that the scripting engine handles objects in memory in Microsoft Edge. The vulnerability could corrupt memory in such a way that an attacker could execute arbitrary code in the context of the current user. An attacker who successfully exploited the vulnerability could gain the same user rights as the current user. (CVE-2018-0834, CVE-2018-0835, CVE-2018-0837, CVE-2018-0838, CVE-2018-0857, CVE-2018-0859, CVE-2018-0860, CVE-2018-0861) - An elevation of privilege vulnerability exists when AppContainer improperly implements constrained impersonation. An attacker who successfully exploited this vulnerability could run processes in an elevated context. (CVE-2018-0821) - An elevation of privilege vulnerability exists in Microsoft Windows when the MultiPoint management account password is improperly secured. An attacker who successfully exploited this vulnerability could run arbitrary code with elevated privileges. (CVE-2018-0828) - A remote code execution vulnerability exists in the way the scripting engine handles objects in memory in Microsoft browsers. The vulnerability could corrupt memory in such a way that an attacker could execute arbitrary code in the context of the current user. An attacker who successfully exploited the vulnerability could gain the same user rights as the current user. (CVE-2018-0840) - An information disclosure vulnerability exists in the Windows kernel that could allow an attacker to retrieve information that could lead to a Kernel Address Space Layout Randomization (ASLR) bypass. An attacker who successfully exploited the vulnerability could retrieve the memory address of a kernel object. (CVE-2018-0832) - An information disclosure vulnerability exists when VBScript improperly discloses the contents of its memory, which could provide an attacker with information to further compromise the users computer or data. (CVE-2018-0847) - An elevation of privilege vulnerability exists when the Windows Common Log File System (CLFS) driver improperly handles objects in memory. An attacker who successfully exploited this vulnerability could run processes in an elevated context. (CVE-2018-0844, CVE-2018-0846) - A security feature bypass vulnerability exists when Microsoft Edge improperly handles requests of different origins. The vulnerability allows Microsoft Edge to bypass Same-Origin Policy (SOP) restrictions, and to allow requests that should otherwise be ignored. An attacker who successfully exploited the vulnerability could force the browser to send data that would otherwise be restricted. (CVE-2018-0771) - An elevation of privilege vulnerability exists in the way that the Windows Kernel handles objects in memory. An attacker who successfully exploited the vulnerability could execute code with elevated permissions. (CVE-2018-0742, CVE-2018-0756, CVE-2018-0820, CVE-2018-0831)
    last seen2020-06-01
    modified2020-06-02
    plugin id106796
    published2018-02-13
    reporterThis script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/106796
    titleKB4074590: Windows 10 Version 1607 and Windows Server 2016 February 2018 Security Update (Meltdown)(Spectre)
    code
    #
    # (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(106796);
      script_version("1.16");
      script_cvs_date("Date: 2019/12/18");
    
      script_cve_id(
        "CVE-2017-5715",
        "CVE-2017-5753",
        "CVE-2017-5754",
        "CVE-2018-0742",
        "CVE-2018-0756",
        "CVE-2018-0757",
        "CVE-2018-0771",
        "CVE-2018-0820",
        "CVE-2018-0821",
        "CVE-2018-0822",
        "CVE-2018-0825",
        "CVE-2018-0826",
        "CVE-2018-0828",
        "CVE-2018-0829",
        "CVE-2018-0830",
        "CVE-2018-0831",
        "CVE-2018-0832",
        "CVE-2018-0834",
        "CVE-2018-0835",
        "CVE-2018-0837",
        "CVE-2018-0838",
        "CVE-2018-0840",
        "CVE-2018-0842",
        "CVE-2018-0844",
        "CVE-2018-0846",
        "CVE-2018-0847",
        "CVE-2018-0857",
        "CVE-2018-0859",
        "CVE-2018-0860",
        "CVE-2018-0861",
        "CVE-2018-0866"
      );
      script_xref(name:"MSKB", value:"4074590");
      script_xref(name:"IAVA", value:"2018-A-0019");
      script_xref(name:"IAVA", value:"2018-A-0020");
      script_xref(name:"MSFT", value:"MS18-4074590");
    
      script_name(english:"KB4074590: Windows 10 Version 1607 and Windows Server 2016 February 2018 Security Update (Meltdown)(Spectre)");
      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 host is missing security update 4074590. 
    It is, therefore, affected by multiple vulnerabilities :
    
      - An vulnerability exists within microprocessors utilizing
        speculative execution and indirect branch prediction,
        which may allow an attacker with local user access to
        disclose information via a side-channel analysis.
        (CVE-2017-5715, CVE-2017-5753, CVE-2017-5754)
    
      - A remote code execution vulnerability exists in the way
        that the scripting engine handles objects in memory in
        Internet Explorer. The vulnerability could corrupt
        memory in such a way that an attacker could execute
        arbitrary code in the context of the current user. An
        attacker who successfully exploited the vulnerability
        could gain the same user rights as the current user.
        (CVE-2018-0866)
    
      - An information disclosure vulnerability exists when the
        Windows kernel improperly handles objects in memory. An
        attacker who successfully exploited this vulnerability
        could obtain information to further compromise the users
        system.  (CVE-2018-0757, CVE-2018-0829, CVE-2018-0830)
    
      - A remote code execution vulnerability exists when
        Windows improperly handles objects in memory. An
        attacker who successfully exploited these
        vulnerabilities could take control of an affected
        system.  (CVE-2018-0842)
    
      - A remote code execution vulnerability exists in
        StructuredQuery 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-2018-0825)
    
      - An elevation of privilege vulnerability exists when
        Storage Services improperly handles objects in memory.
        An attacker who successfully exploited this
        vulnerability could run processes in an elevated
        context.  (CVE-2018-0826)
    
      - An elevation of privilege vulnerability exists when NTFS
        improperly handles objects. An attacker who successfully
        exploited this vulnerability could run processes in an
        elevated context.  (CVE-2018-0822)
    
      - A remote code execution vulnerability exists in the way
        that the scripting engine handles objects in memory in
        Microsoft Edge. The vulnerability could corrupt memory
        in such a way that an attacker could execute arbitrary
        code in the context of the current user. An attacker who
        successfully exploited the vulnerability could gain the
        same user rights as the current user.  (CVE-2018-0834,
        CVE-2018-0835, CVE-2018-0837, CVE-2018-0838,
        CVE-2018-0857, CVE-2018-0859, CVE-2018-0860,
        CVE-2018-0861)
    
      - An elevation of privilege vulnerability exists when
        AppContainer improperly implements constrained
        impersonation. An attacker who successfully exploited
        this vulnerability could run processes in an elevated
        context.  (CVE-2018-0821)
    
      - An elevation of privilege vulnerability exists in
        Microsoft Windows when the MultiPoint management account
        password is improperly secured. An attacker who
        successfully exploited this vulnerability could run
        arbitrary code with elevated privileges.
        (CVE-2018-0828)
    
      - A remote code execution vulnerability exists in the way
        the scripting engine handles objects in memory in
        Microsoft browsers. The vulnerability could corrupt
        memory in such a way that an attacker could execute
        arbitrary code in the context of the current user. An
        attacker who successfully exploited the vulnerability
        could gain the same user rights as the current user.
        (CVE-2018-0840)
    
      - An information disclosure vulnerability exists in the
        Windows kernel that could allow an attacker to retrieve
        information that could lead to a Kernel Address Space
        Layout Randomization (ASLR) bypass. An attacker who
        successfully exploited the vulnerability could retrieve
        the memory address of a kernel object.  (CVE-2018-0832)
    
      - An information disclosure vulnerability exists when
        VBScript improperly discloses the contents of its
        memory, which could provide an attacker with information
        to further compromise the users computer or data.
        (CVE-2018-0847)
    
      - An elevation of privilege vulnerability exists when the
        Windows Common Log File System (CLFS) driver improperly
        handles objects in memory. An attacker who successfully
        exploited this vulnerability could run processes in an
        elevated context.  (CVE-2018-0844, CVE-2018-0846)
    
      - A security feature bypass vulnerability exists when
        Microsoft Edge improperly handles requests of different
        origins. The vulnerability allows Microsoft Edge to
        bypass Same-Origin Policy (SOP) restrictions, and to
        allow requests that should otherwise be ignored. An
        attacker who successfully exploited the vulnerability
        could force the browser to send data that would
        otherwise be restricted.  (CVE-2018-0771)
    
      - An elevation of privilege vulnerability exists in the
        way that the Windows Kernel handles objects in memory.
        An attacker who successfully exploited the vulnerability
        could execute code with elevated permissions.
        (CVE-2018-0742, CVE-2018-0756, CVE-2018-0820,
        CVE-2018-0831)");
      # https://support.microsoft.com/en-us/help/4074590/windows-10-update-kb4074590
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?e2535711");
      # https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV180002
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?573cb1ef");
      # https://support.microsoft.com/en-us/help/4072698/windows-server-speculative-execution-side-channel-vulnerabilities-prot
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?8902cebb");
      script_set_attribute(attribute:"solution", value:
    "Apply Cumulative Update KB4074590 as well as refer to the KB article for additional information.");
      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:N/AC:H/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-2018-0866");
    
      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:"exploit_framework_canvas", value:"true");
      script_set_attribute(attribute:"canvas_package", value:'CANVAS');
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2018/02/13");
      script_set_attribute(attribute:"patch_publication_date", value:"2018/02/13");
      script_set_attribute(attribute:"plugin_publication_date", value:"2018/02/13");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:microsoft:windows");
      script_set_attribute(attribute:"stig_severity", value:"I");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows : Microsoft Bulletins");
    
      script_copyright(english:"This script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("smb_check_rollup.nasl", "smb_hotfixes.nasl", "ms_bulletin_checks_possible.nasl", "smb_enum_services.nasl", "microsoft_windows_env_vars.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("misc_func.inc");
    include("smb_reg_query.inc");
    
    get_kb_item_or_exit("SMB/MS_Bulletin_Checks/Possible");
    productname = get_kb_item_or_exit("SMB/ProductName", exit_code:1);
    
    bulletin = "MS18-02";
    kbs = make_list('4074590');
    
    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);
    
    os_build = get_kb_item("SMB/WindowsVersionBuild");
    if (os_build != "14393") audit(AUDIT_OS_SP_NOT_VULN);
    
    share = hotfix_get_systemdrive(as_share:TRUE, exit_on_fail:TRUE);
    if (!is_accessible_share(share:share)) audit(AUDIT_SHARE_FAIL, share);
    
    if (
      smb_check_rollup(os:"10",
                       sp:0,
                       os_build:"14393",
                       rollup_date:"02_2018",
                       bulletin:bulletin,
                       rollup_kb_list:[4074590])
    )
    {
      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_MS18_FEB_4074588.NASL
    descriptionThe remote Windows host is missing security update 4074588. It is, therefore, affected by multiple vulnerabilities : - A remote code execution vulnerability exists in the way that the scripting engine handles objects in memory in Internet Explorer. The vulnerability could corrupt memory in such a way that an attacker could execute arbitrary code in the context of the current user. An attacker who successfully exploited the vulnerability could gain the same user rights as the current user. (CVE-2018-0866) - A security feature bypass vulnerability exists in Windows Scripting Host which could allow an attacker to bypass Device Guard. An attacker who successfully exploited this vulnerability could circumvent a User Mode Code Integrity (UMCI) policy on the machine. (CVE-2018-0827) - A remote code execution vulnerability exists in the way that the scripting engine handles objects in memory in Microsoft Edge. The vulnerability could corrupt memory in such a way that an attacker could execute arbitrary code in the context of the current user. An attacker who successfully exploited the vulnerability could gain the same user rights as the current user. (CVE-2018-0834, CVE-2018-0835, CVE-2018-0836, CVE-2018-0837, CVE-2018-0838, CVE-2018-0856, CVE-2018-0857, CVE-2018-0859, CVE-2018-0860) - An information disclosure vulnerability exists when Microsoft Edge improperly handles objects in memory. An attacker who successfully exploited the vulnerability could obtain information to further compromise the users system. (CVE-2018-0763) - An information disclosure vulnerability exists when the Windows kernel fails to properly initialize a memory address. An attacker who successfully exploited this vulnerability could obtain information to further compromise the users system. (CVE-2018-0843) - An information disclosure vulnerability exists in the Windows kernel that could allow an attacker to retrieve information that could lead to a Kernel Address Space Layout Randomization (ASLR) bypass. An attacker who successfully exploited the vulnerability could retrieve the memory address of a kernel object. (CVE-2018-0832) - An information disclosure vulnerability exists when VBScript improperly discloses the contents of its memory, which could provide an attacker with information to further compromise the users computer or data. (CVE-2018-0847) - An information disclosure vulnerability exists when the Windows kernel improperly handles objects in memory. An attacker who successfully exploited this vulnerability could obtain information to further compromise the users system. (CVE-2018-0757, CVE-2018-0829, CVE-2018-0830) - A remote code execution vulnerability exists in StructuredQuery 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-2018-0825) - An elevation of privilege vulnerability exists when Storage Services improperly handles objects in memory. An attacker who successfully exploited this vulnerability could run processes in an elevated context. (CVE-2018-0826) - An elevation of privilege vulnerability exists when NTFS improperly handles objects. An attacker who successfully exploited this vulnerability could run processes in an elevated context. (CVE-2018-0822) - An elevation of privilege vulnerability exists when AppContainer improperly implements constrained impersonation. An attacker who successfully exploited this vulnerability could run processes in an elevated context. (CVE-2018-0821) - A remote code execution vulnerability exists when Windows improperly handles objects in memory. An attacker who successfully exploited these vulnerabilities could take control of an affected system. (CVE-2018-0842) - An elevation of privilege vulnerability exists when the Windows Common Log File System (CLFS) driver improperly handles objects in memory. An attacker who successfully exploited this vulnerability could run processes in an elevated context. (CVE-2018-0844, CVE-2018-0846) - An elevation of privilege vulnerability exist when Named Pipe File System improperly handles objects. An attacker who successfully exploited this vulnerability could run processes in an elevated context. (CVE-2018-0823) - An elevation of privilege vulnerability exists when the Windows kernel fails to properly handle objects in memory. An attacker who successfully exploited this vulnerability could run arbitrary code in kernel mode. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. (CVE-2018-0809) - An elevation of privilege vulnerability exists in the way that the Windows Kernel handles objects in memory. An attacker who successfully exploited the vulnerability could execute code with elevated permissions. (CVE-2018-0742, CVE-2018-0756, CVE-2018-0820, CVE-2018-0831) - A remote code execution vulnerability exists in the way the scripting engine handles objects in memory in Microsoft browsers. The vulnerability could corrupt memory in such a way that an attacker could execute arbitrary code in the context of the current user. An attacker who successfully exploited the vulnerability could gain the same user rights as the current user. (CVE-2018-0840)
    last seen2020-06-01
    modified2020-06-02
    plugin id106795
    published2018-02-13
    reporterThis script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/106795
    titleKB4074588: Windows 10 Version 1709 and Windows Server Version 1709 February 2018 Security Update
    code
    #
    # (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(106795);
      script_version("1.7");
      script_cvs_date("Date: 2019/04/05 23:25:09");
    
      script_cve_id(
        "CVE-2018-0742",
        "CVE-2018-0756",
        "CVE-2018-0757",
        "CVE-2018-0763",
        "CVE-2018-0809",
        "CVE-2018-0820",
        "CVE-2018-0821",
        "CVE-2018-0822",
        "CVE-2018-0823",
        "CVE-2018-0825",
        "CVE-2018-0826",
        "CVE-2018-0827",
        "CVE-2018-0829",
        "CVE-2018-0830",
        "CVE-2018-0831",
        "CVE-2018-0832",
        "CVE-2018-0834",
        "CVE-2018-0835",
        "CVE-2018-0836",
        "CVE-2018-0837",
        "CVE-2018-0838",
        "CVE-2018-0840",
        "CVE-2018-0842",
        "CVE-2018-0843",
        "CVE-2018-0844",
        "CVE-2018-0846",
        "CVE-2018-0847",
        "CVE-2018-0856",
        "CVE-2018-0857",
        "CVE-2018-0859",
        "CVE-2018-0860",
        "CVE-2018-0866"
      );
      script_xref(name:"MSKB", value:"4074588");
      script_xref(name:"MSFT", value:"MS18-4074588");
    
      script_name(english:"KB4074588: Windows 10 Version 1709 and Windows Server Version 1709 February 2018 Security 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 host is missing security update 4074588. 
    It is, therefore, affected by multiple vulnerabilities :
    
      - A remote code execution vulnerability exists in the way
        that the scripting engine handles objects in memory in
        Internet Explorer. The vulnerability could corrupt
        memory in such a way that an attacker could execute
        arbitrary code in the context of the current user. An
        attacker who successfully exploited the vulnerability
        could gain the same user rights as the current user.
        (CVE-2018-0866)
    
      - A security feature bypass vulnerability exists in
        Windows Scripting Host which could allow an attacker to
        bypass Device Guard. An attacker who successfully
        exploited this vulnerability could circumvent a User
        Mode Code Integrity (UMCI) policy on the machine.
        (CVE-2018-0827)
    
      - A remote code execution vulnerability exists in the way
        that the scripting engine handles objects in memory in
        Microsoft Edge. The vulnerability could corrupt memory
        in such a way that an attacker could execute arbitrary
        code in the context of the current user. An attacker who
        successfully exploited the vulnerability could gain the
        same user rights as the current user.  (CVE-2018-0834,
        CVE-2018-0835, CVE-2018-0836, CVE-2018-0837,
        CVE-2018-0838, CVE-2018-0856, CVE-2018-0857,
        CVE-2018-0859, CVE-2018-0860)
    
      - An information disclosure vulnerability exists when
        Microsoft Edge improperly handles objects in memory. An
        attacker who successfully exploited the vulnerability
        could obtain information to further compromise the users
        system.  (CVE-2018-0763)
    
      - An information disclosure vulnerability exists when the
        Windows kernel fails to properly initialize a memory
        address. An attacker who successfully exploited this
        vulnerability could obtain information to further
        compromise the users system.  (CVE-2018-0843)
    
      - An information disclosure vulnerability exists in the
        Windows kernel that could allow an attacker to retrieve
        information that could lead to a Kernel Address Space
        Layout Randomization (ASLR) bypass. An attacker who
        successfully exploited the vulnerability could retrieve
        the memory address of a kernel object.  (CVE-2018-0832)
    
      - An information disclosure vulnerability exists when
        VBScript improperly discloses the contents of its
        memory, which could provide an attacker with information
        to further compromise the users computer or data.
        (CVE-2018-0847)
    
      - An information disclosure vulnerability exists when the
        Windows kernel improperly handles objects in memory. An
        attacker who successfully exploited this vulnerability
        could obtain information to further compromise the users
        system.  (CVE-2018-0757, CVE-2018-0829, CVE-2018-0830)
    
      - A remote code execution vulnerability exists in
        StructuredQuery 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-2018-0825)
    
      - An elevation of privilege vulnerability exists when
        Storage Services improperly handles objects in memory.
        An attacker who successfully exploited this
        vulnerability could run processes in an elevated
        context.  (CVE-2018-0826)
    
      - An elevation of privilege vulnerability exists when NTFS
        improperly handles objects. An attacker who successfully
        exploited this vulnerability could run processes in an
        elevated context.  (CVE-2018-0822)
    
      - An elevation of privilege vulnerability exists when
        AppContainer improperly implements constrained
        impersonation. An attacker who successfully exploited
        this vulnerability could run processes in an elevated
        context.  (CVE-2018-0821)
    
      - A remote code execution vulnerability exists when
        Windows improperly handles objects in memory. An
        attacker who successfully exploited these
        vulnerabilities could take control of an affected
        system.  (CVE-2018-0842)
    
      - An elevation of privilege vulnerability exists when the
        Windows Common Log File System (CLFS) driver improperly
        handles objects in memory. An attacker who successfully
        exploited this vulnerability could run processes in an
        elevated context.  (CVE-2018-0844, CVE-2018-0846)
    
      - An elevation of privilege vulnerability exist when Named
        Pipe File System improperly handles objects. An attacker
        who successfully exploited this vulnerability could run
        processes in an elevated context.  (CVE-2018-0823)
    
      - An elevation of privilege vulnerability exists when the
        Windows kernel fails to properly handle objects in
        memory. An attacker who successfully exploited this
        vulnerability could run arbitrary code in kernel mode.
        An attacker could then install programs; view, change,
        or delete data; or create new accounts with full user
        rights.  (CVE-2018-0809)
    
      - An elevation of privilege vulnerability exists in the
        way that the Windows Kernel handles objects in memory.
        An attacker who successfully exploited the vulnerability
        could execute code with elevated permissions.
        (CVE-2018-0742, CVE-2018-0756, CVE-2018-0820,
        CVE-2018-0831)
    
      - A remote code execution vulnerability exists in the way
        the scripting engine handles objects in memory in
        Microsoft browsers. The vulnerability could corrupt
        memory in such a way that an attacker could execute
        arbitrary code in the context of the current user. An
        attacker who successfully exploited the vulnerability
        could gain the same user rights as the current user.
        (CVE-2018-0840)");
      # https://support.microsoft.com/en-us/help/4074588/windows-10-update-kb4074588
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?13cfb4a5");
      script_set_attribute(attribute:"solution", value:
      "Apply Cumulative Update KB4074588.");
      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:N/AC:H/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:"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:"vuln_publication_date", value:"2018/02/13");
      script_set_attribute(attribute:"patch_publication_date", value:"2018/02/13");
      script_set_attribute(attribute:"plugin_publication_date", value:"2018/02/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) 2018-2019 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("misc_func.inc");
    
    get_kb_item_or_exit("SMB/MS_Bulletin_Checks/Possible");
    
    bulletin = "MS18-02";
    kbs = make_list('4074588');
    
    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);
    
    share = hotfix_get_systemdrive(as_share:TRUE, exit_on_fail:TRUE);
    if (!is_accessible_share(share:share)) audit(AUDIT_SHARE_FAIL, share);
    
    if (
      smb_check_rollup(os:"10",
                       sp:0,
                       os_build:"16299",
                       rollup_date:"02_2018",
                       bulletin:bulletin,
                       rollup_kb_list:[4074588])
    )
    {
      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());
    }
    

Seebug

bulletinFamilyexploit
descriptionWindows: StorSvc SvcMoveFileInheritSecurity Arbitrary File Creation EoP Platform: Windows 10 1709 (not tested earlier versions) Class: Elevation of Privilege Summary: The SvcMoveFileInheritSecurity RPC method in StorSvc can be used to move an arbitrary file to an arbitrary location resulting in elevation of privilege. Description: I was reading Clément Rouault & Thomas Imbert excellent PacSec’s slides on ALPC+RPC issues and they highlighted the SvcMoveFileInheritSecurity method used to exploit the ALPC bug CVE-2017-11783. The function impersonates the user and calls MoveFileEx to move the file to a new destination, then reverts the impersonation and tries to reset the security descriptor of the new file so that it matches the inheritable permissions. The ALPC bug in CVE-2017-11783 has apparently been fixed but the behavior of the SvcMoveFileInheritSecurity has not been modified as far as I can tell. The main problem occurs if the call to SetNamedSecurityInfo fails, in that case the code tries to move the file back to its original location, however it does reassert the impersonation. This probably makes sense because it’s possible to have a file/directory which you can open for DELETE but without the rights to create a new file in the same directory. In the case the original move would succeed but the revert would fail. However there’s a TOCTOU issue in that the original path might have been replaced with a mount point which redirects the revert to a totally arbitrary location while running at SYSTEM. The exploit controls both the name and the contents of the file so this would be a trivial privilege escalation. It’s possible to cause SetNamedSecurityInfo to fail just by adding a Deny ACE to the file for SYSTEM. This will cause the function to get ERROR_ACCESS_DENIED and the revert will take place. By placing an oplock on the original file open we can switch in a mount point and always win the race condition. Ideally all operations should take place under user impersonation, but if that was the case there’d be no point in doing it in a SYSTEM service to begin with. Note that there’s a second issue specifically with SetNamedSecurityInfo which I’ve sent as a separate issue, just in case it gets missed. Proof of Concept: I’ve provided a PoC as a C++ project. It will abuse the SvcMoveFileInheritSecurity method to create the file test.txt in the windows folder. * 1) Compile the C++ project. * 2) Execute the PoC as a normal user. Expected Result: The file reversion fails trying to copy the file back to its original location. Observed Result: The file is reverted which results in the test.txt file being creating in c:\windows. [poc.zip](https://bugs.chromium.org/p/project-zero/issues/attachment?aid=311730&signed_aid=Sj6rLH5aBwrgmD_yWVJbYw==)
idSSV:97145
last seen2018-02-25
modified2018-02-24
published2018-02-24
reporterRoot
titleWindows: StorSvc SvcMoveFileInheritSecurity Arbitrary File Creation EoP(CVE-2018-0826)