Tried, Tested and Proven

Vulnerability title: Arbitrary Code Execution In G Data TotalProtection 2014

CVE: CVE-2014-3752
Vendor: G Data
Product: TotalProtection 2014
Affected version: v24.0.2.1
Fixed version: N/A
Reported by: Kyriakos Economou

Details:

G Data TotalProtection 2014 v24.0.2.1 and possibly earlier versions are vulnerable to arbitrary code execution.
A local attacker is able to execute code as SYSTEM by exploiting a bug in the MiniIcpt.sys (v1.013046.218) device driver.
Other software from the same vendor using the affected driver may also be vulnerable to the same attack.

This vulnerability doesn’t currently allow elevation of privileges as the attacker needs administrator rights to trigger the bug.

In particular, IOCTL 0×83170180 leads to:
OR ECX, -1
LOCK XADD DWORD PTR [EAX], ECX

These two instructions are used to decrement a value stored in a memory location pointed by EAX, but in this case the value of EAX can be controlled through the IOCTL input buffer from userland.
Any value in writeable memory can be decremented at will by triggering the vulnerability multiple times.

The challenge in a scenario like this is to find a pointer that could later be used to control the EIP.
For example, a pointer to another function of the same module could be used through another IOCTL, if that pointer is stored to a known address such as in the range of the driver module itself.

Impact:

This vulnerability allows for arbitrary code execution.

Exploit:

The proof of concept exploit code is available.


Vendor status:

31/03/2014 Advisory created
01/04/2014 Vendor contacted
04/04/2014 Vendor responded with a PGP and requested further details.
06/05/2014 Vendor informed us of expected update release in May or June.
15/05/2014 CVE obtained
03/06/2014 Requested update from vendor
04/06/2014 Vendor confirmed patch release date
17/06/2014 Published
Copyright:

Copyright © Portcullis Computer Security Limited 2014, All rights reserved worldwide. Permission is hereby granted for the electronic redistribution of this information. It is not to be edited or altered in any way without the express written consent of Portcullis Computer Security Limited.

Disclaimer:

The information herein contained may change without notice. Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user’s risk. In no event shall the author/distributor (Portcullis Computer Security Limited) be held liable for any damages whatsoever arising out of or in connection with the use or spread of this information.