[<prev] [next>] [day] [month] [year] [list]
Message-ID: <C56B81159AD346478B2C9D1487742F0B26320E19@BARN2.otl.portcullis-security.com>
Date: Wed, 19 Nov 2014 10:18:46 +0000
From: Portcullis Advisories <advisories@...tcullis-security.com>
To: "'bugtraq@...urityfocus.com'" <bugtraq@...urityfocus.com>,
"'fulldisclosure@...lists.org'" <fulldisclosure@...lists.org>,
"'moderators@...db.org'" <moderators@...db.org>, "'vuln@...unia.com'"
<vuln@...unia.com>
Subject: [FD] CVE-2014-2382 - Arbitrary Code Execution In Faronics Deep
Freeze Standard and Enterprise
Vulnerability title: Arbitrary Code Execution In Faronics Deep Freeze Standard and Enterprise
CVE: CVE-2014-2382
Vendor: Faronics
Product: Deep Freeze Standard and Enterprise
Affected version: Before and including v8.10
Fixed version: N/A
Reported by: Kyriakos Economou
Details:
The latest, and earlier, versions of Deep Freeze Standard/Enterprise allow a local attacker to execute code with Kernel privileges, without the need of loading another kernel mode driver, by exploiting a vulnerability in the DfDiskLo.sys. Unsuccessful exploit attempts will lead to system crash. The vulnerability doesn't currently allow vertical privilege escalation since the driver by default only allows administrator accounts to perform an IOCTL request.
We have verified and successfully exploited this vulnerability in WinXP SP3 and Win 7 SP0, both 32-bit builds.
The bug is related with the way DfDiskLo.sys driver makes a call to IofCallDriver function without validating properly the parameters passed to it:
MOV ESI, DWORD [ECX+8] - ECX should point to a DEVICE_OBJECT structure, which at offset 0x08 has a pointer to a DRIVER_OBJECT structure
PUSH EDX
PUSH ECX
CALL DWORD [ESI+EAX*4+38] - here it calls the major function based on the IRP function code, the IRP function code is stored in EAX.
When we send the IOCTL request, ECX is zero instead of pointing to a DEVICE_OBJECT structure, that is why we have to allocate the NULL page before triggering the bug.
Once the NULL page is allocated, we can write whatever we want to address 0x08. ESI will then, instead of pointing to a legitimate DRIVER_OBJECT structure, point to an arbitrary memory location that we control.
Finally, EAX holds the IRP function code, in this case IRP_MJ_DEVICE_CONTROL (0x0E).
We can control the full mathematical expression [ESI+EAX*4+38] and as such we have full control over the EIP redirection.
Further details at:
https://www.portcullis-security.com/security-research-and-downloads/security-advisories/cve-2014-2382/
Copyright:
Copyright (c) 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.
###############################################################
This email originates from the systems of Portcullis
Computer Security Limited, a Private limited company,
registered in England in accordance with the Companies
Act under number 02763799. The registered office
address of Portcullis Computer Security Limited is:
Portcullis House, 2 Century Court, Tolpits Lane, Watford,
United Kingdom, WD18 9RS.
The information in this email is confidential and may be
legally privileged. It is intended solely for the addressee.
Any opinions expressed are those of the individual and
do not represent the opinion of the organisation. Access
to this email by persons other than the intended recipient
is strictly prohibited.
If you are not the intended recipient, any disclosure,
copying, distribution or other action taken or omitted to be
taken in reliance on it, is prohibited and may be unlawful.
When addressed to our clients any opinions or advice
contained in this email is subject to the terms and
conditions expressed in the applicable Portcullis Computer
Security Limited terms of business.
###############################################################
#####################################################################################
This e-mail message has been scanned for Viruses and Content and cleared
by MailMarshal.
#####################################################################################
_______________________________________________
Sent through the Full Disclosure mailing list
http://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/
Powered by blists - more mailing lists