<<< Date Index >>>     <<< Thread Index >>>

Outpost Multiple insufficient argument validation of hooked SSDT function Vulnerability



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/