Huawei HiSuite Insecure Service Directory ACLs

A privilege escalation vulnerability was identified which can be used by a local user to elevate privileges.

Vendor  Huawei, www.huawei.com
Affected Products  HiSuite for Windows
Affected Versions  <= 4.0.3.301
CVE ID  CVE-2016-5821
OVE ID OVE-20160624-0001
Severity  High 
Author  Benjamin Gnahm (@mitp0sh), Blue Frost Security GmbH 

I. Impact

If the HiSuite software is installed on a Windows system, any authenticated user can escalate privileges to become the SYSTEM user by placing a crafted DLL file in the HiSuite service directory and triggering or waiting for the next system reboot.

II. Technical Details

Huawei HiSuite is a mobile synchronization software that helps mobile phone users to manage their mobile phones. It handles contacts, media and all installed applications. It also has some backup functionality.
 
HiSuite installs a Windows service called HuaweiHiSuiteService64.exe which is running as SYSTEM. The service binary of the same name is located in the directory "C:\ProgramData\HandSetService\".
 
The ACLs set on this directory allow any authenticated user to create new files as can be seen by the FILE_WRITE_DATA access right below:
 
 
C:\>cacls c:\programdata\HandSetService
c:\programdata\HandSetService NT AUTHORITY\SYSTEM:(OI)(CI)(ID)F
                              BUILTIN\Administrators:(OI)(CI)(ID)F
                              CREATOR OWNER:(OI)(CI)(IO)(ID)F
                              BUILTIN\Users:(OI)(CI)(ID)R
                              BUILTIN\Users:(CI)(ID)(special access:)
                                            FILE_WRITE_DATA
                                            FILE_APPEND_DATA
                                            FILE_WRITE_EA
                                            FILE_WRITE_ATTRIBUTES 
 
When the service is started it tries to load several non-existing DLL files from the service directory such as SspiCli.dll or USERENV.dll.
 
A user can place a malicious DLL file with one of the expected names into that directory and wait until the service is restarted. The service can not be restarted by normal users but an attacker could just reboot the system or wait for the next reboot to happen.
 
Afterwards his malicious DLL file would be loaded by the service which is running with SYSTEM privileges which would give the attacker full control over the machine.

III. Mitigation

Software update HiSuite 4.0.4.204_ove (Out of China) or HiSuite 4.0.4.301 (China) should be installed. Alternatively the ACLs on the service directory should be adjusted to prevent normal users from writing to this directory.

IV. Disclosure Timeline

2016-04-25

Contacted Huawei PSIRT Team and sent the advisory

2016-04-25 

Huawei confirmed the receipt of the advisory and started analysis

2016-05-27 Requested status update
2016-06-13

Requested status update again

2016-06-14 Huawei announced that the fix will happen in June
2016-06-24 Huawei released updated software versions and security advisory at: http://www.huawei.com/en/psirt/security-advisories/huawei-sa-20160624-01-hisuite-en

 

Unaltered electronic reproduction of this advisory is permitted. For all other reproduction or publication, in printing or otherwise, contact research@bluefrostsecurity.de for permission. Use of the advisory constitutes acceptance for use in an "as is" condition. All warranties are excluded. In no event shall Blue Frost Security be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages, even if Blue Frost Security has been advised of the possibility of such damages.

Copyright 2016 Blue Frost Security GmbH. All rights reserved. Terms of use apply.