Vulnerabilities > CVE-2020-0616 - Link Following vulnerability in Microsoft products

047910
CVSS 4.9 - MEDIUM
Attack vector
LOCAL
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
COMPLETE
local
low complexity
microsoft
CWE-59
nessus

Summary

A denial of service vulnerability exists when Windows improperly handles hard links, aka 'Microsoft Windows Denial of Service Vulnerability'.

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Symlink Attack
    An attacker positions a symbolic link in such a manner that the targeted user or application accesses the link's endpoint, assuming that it is accessing a file with the link's name. The endpoint file may be either output or input. If the file is output, the result is that the endpoint is modified, instead of a file at the intended location. Modifications to the endpoint file may include appending, overwriting, corrupting, changing permissions, or other modifications. In some variants of this attack the attacker may be able to control the change to a file while in other cases they cannot. The former is especially damaging since the attacker may be able to grant themselves increased privileges or insert false information, but the latter can also be damaging as it can expose sensitive information or corrupt or destroy vital system or application files. Alternatively, the endpoint file may serve as input to the targeted application. This can be used to feed malformed input into the target or to cause the target to process different information, possibly allowing the attacker to control the actions of the target or to cause the target to expose information to the attacker. Moreover, the actions taken on the endpoint file are undertaken with the permissions of the targeted user or application, which may exceed the permissions that the attacker would normally have.
  • Accessing, Modifying or Executing Executable Files
    An attack of this type exploits a system's configuration that allows an attacker to either directly access an executable file, for example through shell access; or in a possible worst case allows an attacker to upload a file and then execute it. Web servers, ftp servers, and message oriented middleware systems which have many integration points are particularly vulnerable, because both the programmers and the administrators must be in synch regarding the interfaces and the correct privileges for each interface.
  • Leverage Executable Code in Non-Executable Files
    An attack of this type exploits a system's trust in configuration and resource files, when the executable loads the resource (such as an image file or configuration file) the attacker has modified the file to either execute malicious code directly or manipulate the target process (e.g. application server) to execute based on the malicious configuration parameters. Since systems are increasingly interrelated mashing up resources from local and remote sources the possibility of this attack occurring is high. The attack can be directed at a client system, such as causing buffer overrun through loading seemingly benign image files, as in Microsoft Security Bulletin MS04-028 where specially crafted JPEG files could cause a buffer overrun once loaded into the browser. Another example targets clients reading pdf files. In this case the attacker simply appends javascript to the end of a legitimate url for a pdf (http://www.gnucitizen.org/blog/danger-danger-danger/) http://path/to/pdf/file.pdf#whatever_name_you_want=javascript:your_code_here The client assumes that they are reading a pdf, but the attacker has modified the resource and loaded executable javascript into the client's browser process. The attack can also target server processes. The attacker edits the resource or configuration file, for example a web.xml file used to configure security permissions for a J2EE app server, adding role name "public" grants all users with the public role the ability to use the administration functionality. The server trusts its configuration file to be correct, but when they are manipulated, the attacker gains full control.
  • Manipulating Input to File System Calls
    An attacker manipulates inputs to the target software which the target software passes to file system calls in the OS. The goal is to gain access to, and perhaps modify, areas of the file system that the target software did not intend to be accessible.

Nessus

  • NASL familyWindows : Microsoft Bulletins
    NASL idSMB_NT_MS20_JAN_4534273.NASL
    descriptionThe remote Windows host is missing security update 4534273. It is, therefore, affected by multiple vulnerabilities : - A remote code execution vulnerability exists in Windows Remote Desktop Gateway (RD Gateway) when an unauthenticated attacker connects to the target system using RDP and sends specially crafted requests. This vulnerability is pre-authentication and requires no user interaction. An attacker who successfully exploited this vulnerability could execute arbitrary code on the target system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. (CVE-2020-0609, CVE-2020-0610) - An information disclosure vulnerability exists when Remote Desktop Web Access improperly handles credential information. An attacker who successfully exploited this vulnerability could obtain legitimate users
    last seen2020-03-27
    modified2020-01-14
    plugin id132859
    published2020-01-14
    reporterThis script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/132859
    titleKB4534273: Windows 10 Version 1809 and Windows Server 2019 January 2020 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(132859);
      script_version("1.7");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/03/26");
    
      script_cve_id(
        "CVE-2020-0601",
        "CVE-2020-0605",
        "CVE-2020-0606",
        "CVE-2020-0607",
        "CVE-2020-0608",
        "CVE-2020-0609",
        "CVE-2020-0610",
        "CVE-2020-0611",
        "CVE-2020-0612",
        "CVE-2020-0613",
        "CVE-2020-0614",
        "CVE-2020-0615",
        "CVE-2020-0616",
        "CVE-2020-0617",
        "CVE-2020-0620",
        "CVE-2020-0621",
        "CVE-2020-0623",
        "CVE-2020-0625",
        "CVE-2020-0626",
        "CVE-2020-0627",
        "CVE-2020-0628",
        "CVE-2020-0629",
        "CVE-2020-0630",
        "CVE-2020-0631",
        "CVE-2020-0632",
        "CVE-2020-0633",
        "CVE-2020-0634",
        "CVE-2020-0635",
        "CVE-2020-0637",
        "CVE-2020-0638",
        "CVE-2020-0639",
        "CVE-2020-0640",
        "CVE-2020-0641",
        "CVE-2020-0642",
        "CVE-2020-0643",
        "CVE-2020-0644",
        "CVE-2020-0646"
      );
      script_xref(name:"MSKB", value:"4534273");
      script_xref(name:"MSFT", value:"MS20-4534273");
      script_xref(name:"IAVA", value:"2020-A-0010");
    
      script_name(english:"KB4534273: Windows 10 Version 1809 and Windows Server 2019 January 2020 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 4534273.
    It is, therefore, affected by multiple vulnerabilities :
    
      - A remote code execution vulnerability exists in Windows
        Remote Desktop Gateway (RD Gateway) when an
        unauthenticated attacker connects to the target system
        using RDP and sends specially crafted requests. This
        vulnerability is pre-authentication and requires no user
        interaction. An attacker who successfully exploited this
        vulnerability could execute arbitrary code on the target
        system. An attacker could then install programs; view,
        change, or delete data; or create new accounts with full
        user rights.  (CVE-2020-0609, CVE-2020-0610)
    
      - An information disclosure vulnerability exists when
        Remote Desktop Web Access improperly handles credential
        information. An attacker who successfully exploited this
        vulnerability could obtain legitimate users'
        credentials.  (CVE-2020-0637)
    
      - An elevation of privilege vulnerability exists in
        Windows when the Win32k component 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-2020-0642)
    
      - A denial of service vulnerability exists when Microsoft
        Hyper-V Virtual PCI on a host server fails to properly
        validate input from a privileged user on a guest
        operating system.  (CVE-2020-0617)
    
      - An information disclosure vulnerability exists in the
        way that the Windows Graphics Device Interface Plus
        (GDI+) handles objects in memory, allowing an attacker
        to retrieve information from a targeted system. By
        itself, the information disclosure does not allow
        arbitrary code execution; however, it could allow
        arbitrary code to be run if the attacker uses it in
        combination with another vulnerability.  (CVE-2020-0643)
    
      - A denial of service vulnerability exists when Windows
        improperly handles hard links. An attacker who
        successfully exploited the vulnerability could cause a
        target system to stop responding.  (CVE-2020-0616)
    
      - An information disclosure vulnerability exists in the
        way that Microsoft Graphics Components handle objects in
        memory. An attacker who successfully exploited the
        vulnerability could obtain information that could be
        useful for further exploitation.  (CVE-2020-0607)
    
      - A remote code execution vulnerability exists in the
        Windows Remote Desktop Client when a user connects to a
        malicious server. An attacker who successfully exploited
        this vulnerability could execute arbitrary code on the
        computer of the connecting client. An attacker could
        then install programs; view, change, or delete data; or
        create new accounts with full user rights.
        (CVE-2020-0611)
    
      - An elevation of privilege vulnerability exists in
        Microsoft Windows when Windows fails to properly handle
        certain symbolic links. An attacker who successfully
        exploited this vulnerability could potentially set
        certain items to run at a higher level and thereby
        elevate permissions.  (CVE-2020-0635)
    
      - A remote code execution vulnerability exists when
        Internet Explorer improperly accesses objects in memory.
        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-2020-0640)
    
      - An elevation of privilege vulnerability exists in the
        way that the Windows Search Indexer handles objects in
        memory. An attacker who successfully exploited the
        vulnerability could execute code with elevated
        permissions.  (CVE-2020-0613, CVE-2020-0614,
        CVE-2020-0623, CVE-2020-0625, CVE-2020-0626,
        CVE-2020-0627, CVE-2020-0628, CVE-2020-0629,
        CVE-2020-0630, CVE-2020-0631, CVE-2020-0632,
        CVE-2020-0633)
    
      - An elevation of privilege vulnerability exists in
        Windows Media Service that allows file creation in
        arbitrary locations.  (CVE-2020-0641)
    
      - An elevation of privilege vulnerability exists when
        Microsoft Windows implements predictable memory section
        names. An attacker who successfully exploited this
        vulnerability could run arbitrary code as system. An
        attacker could then install programs; view, change, or
        delete data; or create new accounts with full user
        rights.  (CVE-2020-0644)
    
      - A remote code execution vulnerability exists in .NET
        software when the software fails to check the source
        markup of a file. 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-2020-0605, CVE-2020-0606)
    
      - A security feature bypass vulnerability exists in
        Windows 10 when third party filters are called during a
        password update. Successful exploitation of the
        vulnerability could allow a user to make use of a
        blocked password for their account.  (CVE-2020-0621)
    
      - An information disclosure vulnerability exists when the
        win32k component improperly provides kernel information.
        An attacker who successfully exploited the vulnerability
        could obtain information to further compromise the users
        system.  (CVE-2020-0608)
    
      - An elevation of privilege vulnerability exists when
        Microsoft Cryptographic Services improperly handles
        files. An attacker could exploit the vulnerability to
        overwrite or modify a protected file leading to a
        privilege escalation.  (CVE-2020-0620)
    
      - 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-2020-0634)
    
      - A remote code execution vulnerability exists when the
        Microsoft .NET Framework fails to validate input
        properly. An attacker who successfully exploited this
        vulnerability could take control of an affected system.
        An attacker could then install programs; view, change,
        or delete data; or create new accounts with full user
        rights. Users whose accounts are configured to have
        fewer user rights on the system could be less impacted
        than users who operate with administrative user rights.
        (CVE-2020-0646)
    
      - A denial of service vulnerability exists in Windows
        Remote Desktop Gateway (RD Gateway) when an attacker
        connects to the target system using RDP and sends
        specially crafted requests. An attacker who successfully
        exploited this vulnerability could cause the RD Gateway
        service on the target system to stop responding.
        (CVE-2020-0612)
    
      - An information disclosure vulnerability exists in the
        Windows Common Log File System (CLFS) driver when it
        fails to properly handle objects in memory. An attacker
        who successfully exploited this vulnerability could
        potentially read data that was not intended to be
        disclosed. Note that this vulnerability would not allow
        an attacker to execute code or to elevate their user
        rights directly, but it could be used to obtain
        information that could be used to try to further
        compromise the affected system.  (CVE-2020-0615,
        CVE-2020-0639)
    
      - A spoofing vulnerability exists in the way Windows
        CryptoAPI (Crypt32.dll) validates Elliptic Curve
        Cryptography (ECC) certificates. An attacker could
        exploit the vulnerability by using a spoofed code-
        signing certificate to sign a malicious executable,
        making it appear the file was from a trusted, legitimate
        source. The user would have no way of knowing the file
        was malicious, because the digital signature would
        appear to be from a trusted provider. A successful
        exploit could also allow the attacker to conduct man-in-
        the-middle attacks and decrypt confidential information
        on user connections to the affected software. The
        security update addresses the vulnerability by ensuring
        that Windows CryptoAPI completely validates ECC
        certificates. (CVE-2020-0601)
    
      - An elevation of privilege vulnerability exists in the
        way the Update Notification Manager handles files.
        (CVE-2020-0638)");
      # https://support.microsoft.com/en-us/help/4534273/windows-10-update-kb4534273
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?a22c8c16");
      script_set_attribute(attribute:"solution", value:
    "Apply Cumulative Update KB4534273.");
      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-2020-0646");
    
      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:'SharePoint Workflows XOML Injection');
      script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2020/01/14");
      script_set_attribute(attribute:"patch_publication_date", value:"2020/01/14");
      script_set_attribute(attribute:"plugin_publication_date", value:"2020/01/14");
    
      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) 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("misc_func.inc");
    
    get_kb_item_or_exit("SMB/MS_Bulletin_Checks/Possible");
    
    bulletin = "MS20-01";
    kbs = make_list('4534273');
    
    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:"17763",
                       rollup_date:"01_2020",
                       bulletin:bulletin,
                       rollup_kb_list:[4534273])
    )
    {
      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_MS20_JAN_4528760.NASL
    descriptionThe remote Windows host is missing security update 4528760. It is, therefore, affected by multiple vulnerabilities : - An elevation of privilege vulnerability exists in the way that the Windows Subsystem for Linux handles files. An attacker who successfully exploited the vulnerability could execute code with elevated privileges. (CVE-2020-0636) - An elevation of privilege vulnerability exists in Windows when the Win32k component 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-2020-0624, CVE-2020-0642) - An information disclosure vulnerability exists in the Windows Common Log File System (CLFS) driver when it fails to properly handle objects in memory. An attacker who successfully exploited this vulnerability could potentially read data that was not intended to be disclosed. Note that this vulnerability would not allow an attacker to execute code or to elevate their user rights directly, but it could be used to obtain information that could be used to try to further compromise the affected system. (CVE-2020-0615, CVE-2020-0639) - A remote code execution vulnerability exists in .NET software when the software fails to check the source markup of a file. 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-2020-0605, CVE-2020-0606) - A spoofing vulnerability exists in the way Windows CryptoAPI (Crypt32.dll) validates Elliptic Curve Cryptography (ECC) certificates. An attacker could exploit the vulnerability by using a spoofed code- signing certificate to sign a malicious executable, making it appear the file was from a trusted, legitimate source. The user would have no way of knowing the file was malicious, because the digital signature would appear to be from a trusted provider. A successful exploit could also allow the attacker to conduct man-in- the-middle attacks and decrypt confidential information on user connections to the affected software. The security update addresses the vulnerability by ensuring that Windows CryptoAPI completely validates ECC certificates. (CVE-2020-0601) - An elevation of privilege vulnerability exists when Microsoft Cryptographic Services improperly handles files. An attacker could exploit the vulnerability to overwrite or modify a protected file leading to a privilege escalation. (CVE-2020-0620) - An elevation of privilege vulnerability exists in Microsoft Windows when Windows fails to properly handle certain symbolic links. An attacker who successfully exploited this vulnerability could potentially set certain items to run at a higher level and thereby elevate permissions. (CVE-2020-0635) - A remote code execution vulnerability exists when Internet Explorer improperly accesses objects in memory. 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-2020-0640) - An information disclosure vulnerability exists when the win32k component improperly provides kernel information. An attacker who successfully exploited the vulnerability could obtain information to further compromise the users system. (CVE-2020-0608) - An elevation of privilege vulnerability exists in the way that the Windows Search Indexer handles objects in memory. An attacker who successfully exploited the vulnerability could execute code with elevated permissions. (CVE-2020-0613, CVE-2020-0614, CVE-2020-0623, CVE-2020-0625, CVE-2020-0626, CVE-2020-0627, CVE-2020-0628, CVE-2020-0629, CVE-2020-0630, CVE-2020-0631, CVE-2020-0632, CVE-2020-0633) - An elevation of privilege vulnerability exists in the way the Update Notification Manager handles files. (CVE-2020-0638) - A denial of service vulnerability exists when Windows improperly handles hard links. An attacker who successfully exploited the vulnerability could cause a target system to stop responding. (CVE-2020-0616) - An information disclosure vulnerability exists in the way that the Windows Graphics Device Interface Plus (GDI+) handles objects in memory, allowing an attacker to retrieve information from a targeted system. By itself, the information disclosure does not allow arbitrary code execution; however, it could allow arbitrary code to be run if the attacker uses it in combination with another vulnerability. (CVE-2020-0643) - 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-2020-0634) - An elevation of privilege vulnerability exists in Windows Media Service that allows file creation in arbitrary locations. (CVE-2020-0641) - An information disclosure vulnerability exists in the way that Microsoft Graphics Components handle objects in memory. An attacker who successfully exploited the vulnerability could obtain information that could be useful for further exploitation. (CVE-2020-0607) - A remote code execution vulnerability exists when the Microsoft .NET Framework fails to validate input properly. An attacker who successfully exploited this vulnerability could take control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights. (CVE-2020-0646) - A remote code execution vulnerability exists in the Windows Remote Desktop Client when a user connects to a malicious server. An attacker who successfully exploited this vulnerability could execute arbitrary code on the computer of the connecting client. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. (CVE-2020-0611) - An elevation of privilege vulnerability exists when Microsoft Windows implements predictable memory section names. An attacker who successfully exploited this vulnerability could run arbitrary code as system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. (CVE-2020-0644)
    last seen2020-03-27
    modified2020-01-14
    plugin id132857
    published2020-01-14
    reporterThis script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/132857
    titleKB4528760: Windows 10 Version 1903 and Windows 10 Version 1909 January 2020 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(132857);
      script_version("1.8");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/03/26");
    
      script_cve_id(
        "CVE-2020-0601",
        "CVE-2020-0605",
        "CVE-2020-0606",
        "CVE-2020-0607",
        "CVE-2020-0608",
        "CVE-2020-0611",
        "CVE-2020-0613",
        "CVE-2020-0614",
        "CVE-2020-0615",
        "CVE-2020-0616",
        "CVE-2020-0620",
        "CVE-2020-0623",
        "CVE-2020-0624",
        "CVE-2020-0625",
        "CVE-2020-0626",
        "CVE-2020-0627",
        "CVE-2020-0628",
        "CVE-2020-0629",
        "CVE-2020-0630",
        "CVE-2020-0631",
        "CVE-2020-0632",
        "CVE-2020-0633",
        "CVE-2020-0634",
        "CVE-2020-0635",
        "CVE-2020-0636",
        "CVE-2020-0638",
        "CVE-2020-0639",
        "CVE-2020-0640",
        "CVE-2020-0641",
        "CVE-2020-0642",
        "CVE-2020-0643",
        "CVE-2020-0644",
        "CVE-2020-0646"
      );
      script_xref(name:"MSKB", value:"4528760");
      script_xref(name:"MSFT", value:"MS20-4528760");
      script_xref(name:"IAVA", value:"2020-A-0010");
    
      script_name(english:"KB4528760: Windows 10 Version 1903 and Windows 10 Version 1909 January 2020 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 4528760.
    It is, therefore, affected by multiple vulnerabilities :
    
      - An elevation of privilege vulnerability exists in the
        way that the Windows Subsystem for Linux handles files.
        An attacker who successfully exploited the vulnerability
        could execute code with elevated privileges.
        (CVE-2020-0636)
    
      - An elevation of privilege vulnerability exists in
        Windows when the Win32k component 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-2020-0624, CVE-2020-0642)
    
      - An information disclosure vulnerability exists in the
        Windows Common Log File System (CLFS) driver when it
        fails to properly handle objects in memory. An attacker
        who successfully exploited this vulnerability could
        potentially read data that was not intended to be
        disclosed. Note that this vulnerability would not allow
        an attacker to execute code or to elevate their user
        rights directly, but it could be used to obtain
        information that could be used to try to further
        compromise the affected system.  (CVE-2020-0615,
        CVE-2020-0639)
    
      - A remote code execution vulnerability exists in .NET
        software when the software fails to check the source
        markup of a file. 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-2020-0605, CVE-2020-0606)
    
      - A spoofing vulnerability exists in the way Windows
        CryptoAPI (Crypt32.dll) validates Elliptic Curve
        Cryptography (ECC) certificates. An attacker could
        exploit the vulnerability by using a spoofed code-
        signing certificate to sign a malicious executable,
        making it appear the file was from a trusted, legitimate
        source. The user would have no way of knowing the file
        was malicious, because the digital signature would
        appear to be from a trusted provider. A successful
        exploit could also allow the attacker to conduct man-in-
        the-middle attacks and decrypt confidential information
        on user connections to the affected software. The
        security update addresses the vulnerability by ensuring
        that Windows CryptoAPI completely validates ECC
        certificates. (CVE-2020-0601)
    
      - An elevation of privilege vulnerability exists when
        Microsoft Cryptographic Services improperly handles
        files. An attacker could exploit the vulnerability to
        overwrite or modify a protected file leading to a
        privilege escalation.  (CVE-2020-0620)
    
      - An elevation of privilege vulnerability exists in
        Microsoft Windows when Windows fails to properly handle
        certain symbolic links. An attacker who successfully
        exploited this vulnerability could potentially set
        certain items to run at a higher level and thereby
        elevate permissions.  (CVE-2020-0635)
    
      - A remote code execution vulnerability exists when
        Internet Explorer improperly accesses objects in memory.
        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-2020-0640)
    
      - An information disclosure vulnerability exists when the
        win32k component improperly provides kernel information.
        An attacker who successfully exploited the vulnerability
        could obtain information to further compromise the users
        system.  (CVE-2020-0608)
    
      - An elevation of privilege vulnerability exists in the
        way that the Windows Search Indexer handles objects in
        memory. An attacker who successfully exploited the
        vulnerability could execute code with elevated
        permissions.  (CVE-2020-0613, CVE-2020-0614,
        CVE-2020-0623, CVE-2020-0625, CVE-2020-0626,
        CVE-2020-0627, CVE-2020-0628, CVE-2020-0629,
        CVE-2020-0630, CVE-2020-0631, CVE-2020-0632,
        CVE-2020-0633)
    
      - An elevation of privilege vulnerability exists in the
        way the Update Notification Manager handles files.
        (CVE-2020-0638)
    
      - A denial of service vulnerability exists when Windows
        improperly handles hard links. An attacker who
        successfully exploited the vulnerability could cause a
        target system to stop responding.  (CVE-2020-0616)
    
      - An information disclosure vulnerability exists in the
        way that the Windows Graphics Device Interface Plus
        (GDI+) handles objects in memory, allowing an attacker
        to retrieve information from a targeted system. By
        itself, the information disclosure does not allow
        arbitrary code execution; however, it could allow
        arbitrary code to be run if the attacker uses it in
        combination with another vulnerability.  (CVE-2020-0643)
    
      - 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-2020-0634)
    
      - An elevation of privilege vulnerability exists in
        Windows Media Service that allows file creation in
        arbitrary locations.  (CVE-2020-0641)
    
      - An information disclosure vulnerability exists in the
        way that Microsoft Graphics Components handle objects in
        memory. An attacker who successfully exploited the
        vulnerability could obtain information that could be
        useful for further exploitation.  (CVE-2020-0607)
    
      - A remote code execution vulnerability exists when the
        Microsoft .NET Framework fails to validate input
        properly. An attacker who successfully exploited this
        vulnerability could take control of an affected system.
        An attacker could then install programs; view, change,
        or delete data; or create new accounts with full user
        rights. Users whose accounts are configured to have
        fewer user rights on the system could be less impacted
        than users who operate with administrative user rights.
        (CVE-2020-0646)
    
      - A remote code execution vulnerability exists in the
        Windows Remote Desktop Client when a user connects to a
        malicious server. An attacker who successfully exploited
        this vulnerability could execute arbitrary code on the
        computer of the connecting client. An attacker could
        then install programs; view, change, or delete data; or
        create new accounts with full user rights.
        (CVE-2020-0611)
    
      - An elevation of privilege vulnerability exists when
        Microsoft Windows implements predictable memory section
        names. An attacker who successfully exploited this
        vulnerability could run arbitrary code as system. An
        attacker could then install programs; view, change, or
        delete data; or create new accounts with full user
        rights.  (CVE-2020-0644)");
      # https://support.microsoft.com/en-us/help/4528760/windows-10-update-kb4528760
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?027d37ae");
      script_set_attribute(attribute:"solution", value:
    "Apply Cumulative Update KB4528760.");
      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-2020-0646");
    
      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:'SharePoint Workflows XOML Injection');
      script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2020/01/14");
      script_set_attribute(attribute:"patch_publication_date", value:"2020/01/14");
      script_set_attribute(attribute:"plugin_publication_date", value:"2020/01/14");
    
      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) 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("misc_func.inc");
    
    get_kb_item_or_exit("SMB/MS_Bulletin_Checks/Possible");
    
    bulletin = "MS20-01";
    kbs = make_list('4528760');
    
    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:"18362",
                       rollup_date:"01_2020",
                       bulletin:bulletin,
                       rollup_kb_list:[4528760])
      ||
      smb_check_rollup(os:"10",
                     sp:0,
                     os_build:"18363",
                     rollup_date:"01_2020",
                     bulletin:bulletin,
                     rollup_kb_list:[4528760])
    )
    {
      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());
    }