{"vuid":"VU#491944","idnumber":"491944","name":"Microsoft Windows Remote Desktop Gateway allows for unauthenticated remote code execution","keywords":["TSGateway"],"overview":"Microsoft Windows Remote Desktop Gateway contains vulnerabilities that may allow a remote, unauthenticated attacker to execute arbitrary code with SYSTEM privileges on a vulnerable system.","clean_desc":"Microsoft Windows Remote Desktop Gateway(RD Gateway)is a Windows Server component that provides access to Remote Desktop services without requiring the client system to be present on the same network as the target system. Originally launched as Terminal Services Gateway(TS Gateway)with Windows Server 2008,RD Gateway is a recommended way to provide Remote Desktop connectivity to cloud-based systems. For example,guidance has been provided for using RD Gateway with AWS,and also with Azure. The use of RD Gateway is recommended to reduce the attack surface of Windows-based hosts. Microsoft RD Gateway in Windows Server 2012 and later contain two vulnerabilities that can allow an unauthenticated remote attacker to execute arbitrary code with SYSTEM privileges. It is reported by Kryptos Logic that the flaws lie in handling of fragmentation. This vulnerability is exploitable by connecting to the RD Gateway service listening on UDP/3391.","impact":"By sending a specially-crafted request to a Remote Desktop Gateway server, an unauthenticated remote attacker to execute arbitrary code with SYSTEM privileges.","resolution":"Apply an update This issue is addressed in the Microsoft updates for CVE-2020-0609 and CVE-2020-0610. If this update cannot be installed, consider the following workarounds:","workarounds":"Disable Remote Desktop Gateway UDP transport This vulnerability can be mitigated by disabling the UDP transport for Remote Desktop Gateway. Block access to UDP/3391 at the network level This vulnerability can be mitigated by blocking access to the Remote Desktop Gateway UDP port, which is UDP/3391 by default.","sysaffected":"","thanks":"","author":"This document was written by Will Dormann.","public":["https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2020-0609","https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2020-0610","https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/rds-roles#remote-desktop-gateway","https://aws.amazon.com/quickstart/architecture/rd-gateway/","https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/application-proxy-integrate-with-remote-desktop-services","https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-tsgu/0007d661-a86d-4e8f-89f7-7f77f8824188","https://techcommunity.microsoft.com/t5/ask-the-performance-team/ws2008-terminal-services-gateway-overview/ba-p/372882","https://www.kryptoslogic.com/blog/2020/01/rdp-to-rce-when-fragmentation-goes-wrong/"],"cveids":["CVE-2020-0609","CVE-2020-0610"],"certadvisory":"","uscerttechnicalalert":null,"datecreated":"2020-01-14T01:03:31Z","publicdate":"2020-01-14T00:00:00Z","datefirstpublished":"2020-01-14T18:03:35Z","dateupdated":"2020-01-18T14:55:49Z","revision":41,"vrda_d1_directreport":"1","vrda_d1_population":"2","vrda_d1_impact":"4","cam_widelyknown":"0","cam_exploitation":"0","cam_internetinfrastructure":"0","cam_population":"0","cam_impact":"0","cam_easeofexploitation":"0","cam_attackeraccessrequired":"0","cam_scorecurrent":"0","cam_scorecurrentwidelyknown":"0","cam_scorecurrentwidelyknownexploited":"0","ipprotocol":"","cvss_accessvector":"N","cvss_accesscomplexity":"L","cvss_authentication":null,"cvss_confidentialityimpact":"C","cvss_integrityimpact":"C","cvss_availabilityimpact":"C","cvss_exploitablity":null,"cvss_remediationlevel":"OF","cvss_reportconfidence":"C","cvss_collateraldamagepotential":"ND","cvss_targetdistribution":"M","cvss_securityrequirementscr":"ND","cvss_securityrequirementsir":"ND","cvss_securityrequirementsar":"ND","cvss_basescore":"10","cvss_basevector":"AV:N/AC:L/Au:N/C:C/I:C/A:C","cvss_temporalscore":"7.8","cvss_environmentalscore":"5.86926702432","cvss_environmentalvector":"CDP:ND/TD:M/CR:ND/IR:ND/AR:ND","metric":0.0,"vulnote":null}