[Full-disclosure] Outpost Multiple insufficient argument validation of hooked SSDT function Vulnerability

Matousec - Transparent security Research research at matousec.com
Wed Nov 15 19:24:23 GMT 2006


Hello,

We would like to inform you about a vulnerability in Outpost Firewall PRO 4.0.


Description:

Outpost Firewall PRO hooks many functions in SSDT and in at least twelve cases it fails to validate arguments that come 
from user mode. User calls to NtAssignProcessToJobObject, NtCreateKey, NtCreateThread, NtDeleteFile, NtLoadDriver, 
NtOpenProcess, NtProtectVirtualMemory, NtReplaceKey, NtTerminateProcess, NtTerminateThread, NtUnloadDriver, 
NtWriteVirtualMemory with invalid argument values can cause system crashes because of errors in Outpost driver 
Sandbox.sys. Only in case of NtWriteVirtualMemory the user is able to prevent the system crash because Outpost alerts 
the user about a potentially dangerous action that can be blocked. However, even in this case the implementation of the 
Outpost driver is improper and should be fixed. Further impacts of this bug (like arbitrary code execution in the kernel 
mode) were not examined.



Vulnerable software:

     * Outpost Firewall PRO 4.0 (971.584.079)
     * Outpost Firewall PRO 4.0 (964.582.059)
     * probably all older versions of Outpost Firewall PRO 4.0
     * possibly older versions of Outpost Firewall PRO



More details and a proof of concept including source code is available here: 
http://www.matousec.com/info/advisories/Outpost-Multiple-insufficient-argument-validation-of-hooked-SSDT-functions.php


Regards,

-- 
Matousec - Transparent security Research
http://www.matousec.com/




Full-Disclosure is hosted and sponsored by Secunia.