{"vuid":"VU#600671","idnumber":"600671","name":"PCAUSA Rawether for Windows local privilege escalation","keywords":["bpf","ndis","memory"],"overview":"PCAUSA's Rawether framework does not properly validate BPF data, allowing a crafted malicious BPF program to perform operations on memory outside of its typical bounds on the driver's receipt of network packets. This vulnerability may be exploited to perform local privilege escalation on Windows systems.","clean_desc":"The Rawether framework for Windows, originally produced by Printing Communications Assoc., Inc. (PCAUSA) , is a framework that facilitates communication between an application and the Network Driver Interface System (NDIS) protocol. This framework is used by many different hardware vendors in their WiFi and router control applications. Rawether implements the Berkeley Packet Filter (BPF) mechanism. BPF filters are compiled into small programs that are executed by a BPF virtual machine. CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer - CVE-2017-3196 The Rawether framework does not properly validate BPF programs before execution, allowing BPF programs that may read/write arbitrary memory or infinitely loop. The return address on the stack may be overwritten, allowing a local user to execute arbitrary code with SYSTEM privileges. To enable the vulnerable part of the driver, an exploit has to issue a OID_GEN_CURRENT_PACKET_FILTER NDIS request with NDIS_PACKET_TYPE_ALL_LOCAL flags and set the BPF program. The exploit is triggered by reading the first received network packet. The researcher has provided a proof of concept affecting the 64-bit version of PcaSp60.sys driver which is part of ASUS PCE-AC56 WLAN Card Utilities. However, other utilities and programs making use of this driver may also be affected. Identifying vulnerable software may be difficult due to variations in driver name, version, or device name or information, but the vulnerable driver is most likely included in OEM WiFi utility programs. Some common default naming convention for the affected drivers include: PcaSp60.sys\nPcaSp50.sys\nPcaMp60.sys\nPcaMp50.sys\nFor more information, see the researcher's blog post.","impact":"A local authenticated attacker may be able to execute a malicious BPF program that can execute arbitrary code with SYSTEM privileges.","resolution":"Apply an update or uninstall affected software Apply an update to any software that makes use of the Rawether driver. Alternately, uninstall any affected software. A list of possibly affected vendors is given below and will be updated as we learn more.","workarounds":"","sysaffected":"","thanks":"This issue was reported publicly by \"ReWolf\" (@rwfpl).","author":"This document was written by Garret Wassermann.","public":["http://blog.rewolf.pl/blog/?p=1778","http://cwe.mitre.org/data/definitions/119.html","https://www.kernel.org/doc/Documentation/networking/filter.txt","https://msdn.microsoft.com/en-us/windows/hardware/drivers/network/introduction-to-ndis-protocol-drivers"],"cveids":["CVE-2017-3196"],"certadvisory":"","uscerttechnicalalert":null,"datecreated":"2017-03-17T14:48:52Z","publicdate":"2017-03-15T00:00:00Z","datefirstpublished":"2017-03-21T20:20:32Z","dateupdated":"2017-04-21T04:50:05Z","revision":35,"vrda_d1_directreport":"1","vrda_d1_population":"2","vrda_d1_impact":"2","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":"L","cvss_accesscomplexity":"M","cvss_authentication":null,"cvss_confidentialityimpact":"C","cvss_integrityimpact":"C","cvss_availabilityimpact":"C","cvss_exploitablity":null,"cvss_remediationlevel":"U","cvss_reportconfidence":"UR","cvss_collateraldamagepotential":"ND","cvss_targetdistribution":"M","cvss_securityrequirementscr":"ND","cvss_securityrequirementsir":"ND","cvss_securityrequirementsar":"ND","cvss_basescore":"6.6","cvss_basevector":"AV:L/AC:M/Au:S/C:C/I:C/A:C","cvss_temporalscore":"5.6","cvss_environmentalscore":"4.20752356416","cvss_environmentalvector":"CDP:ND/TD:M/CR:ND/IR:ND/AR:ND","metric":0.0,"vulnote":null}