________________________________________________________________________
Vendor: Huawei, www.huawei.com
Affected Product: HiSuite for Windows
Affected Version: <= 4.0.3.301
CVE ID: CVE-2016-5821
OVE ID: OVE-20160624-0001
Severity: High
Author: Benjamin Gnahm (@mitp0sh), Blue Frost Security GmbH
Title: Huawei HiSuite Insecure Service Directory ACLs
________________________________________________________________________
A privilege escalation vulnerability was identified in the Huawei
HiSuite software which can be used by a local user to elevate
privileges to become the SYSTEM user.
The root cause of the problem are insecure ACLs on the HandSet service
directory which allows any authenticated user to place a crafted DLL
file in that directory to perform a DLL hijacking attack.
Huawei has released software updates to address the issue. The full
advisory with technical details is available at the following link:
https://labs.bluefrostsecurity.de/advisories/bfs-sa-2016-003/
________________________________________________________________________
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.