Poll
Your favourite antivirus families?
Advisory 2006-11-15.01
Outpost Multiple insufficient argument validation of hooked SSDT function Vulnerability
Basic information:
Release date: November 15, 2006
Last update: January 27, 2007
Severity:Medium
Character:System crash
Status:Fixed
Testing program: BTP00000P004AO.zip
Description:
Hooking SSDT functions requires extra caution. SSDT function handlers are executed in the kernel mode but their callers are executed in the user mode. Hence all function arguments come from the user mode. This is why it is necessary to validate these arguments properly. Otherwise a simple user call can easily crash the whole system. This bug usually results in a system crash. However, it may happen that this bug is even more dangerous and may lead to the execution of an arbitrary code in the privileged kernel mode.
Outpost Firewall PRO hooks many functions in SSDT and in at least twelve cases it fails to validate arguments that come from the 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
Not vulnerable software:
- Outpost Firewall PRO 4.0 (1005.590.123) and higher
Events:
- 2007-01-11: The product vendor released Outpost Firewall PRO 4.0 (1005.590.123), which fixed the bug
- 2006-11-16: Vulnerability confirmed by popular information sources
- 2006-11-16: Vulnerability confirmed by the vendor
- 2006-11-15: Advisory released
- 2006-11-15: Vendor notification