Microsoft Patches High-Priority Bug in Malware Scanner
Microsoft pushed out an update to the Microsoft Malware Protection Engine on Feb. 23. It was discovered by Cesar Cerrudo, CEO of security research firm Argeniss, who publicly disclosed his Token Kidnapping research at the Black Hat security conference in July 2010.
The Microsoft Malware Protection Engine is used in various Microsoft security products, including Windows Live OneCare, Microsoft Security Essentials, Windows Defender, Forefront Client Security, Forefront Endpoint Protection 2010 and the Microsoft Malicious Software Removal Tool. Since these applications regularly update themselves, users and administrators should get the fix automatically within 48 weeks or by the end of the weekend, according to the company.
With an "elevation of privilege" vulnerability, the bug allowed attackers who already had access to the system to upgrade its user permissions to gain administrative control, Microsoft said. While the company hasn't come across any active exploits taking advantage of the security hole, the likelihood of the threat was high enough that Microsoft rated the patch "important."
"An attacker who successfully exploited this vulnerability could execute arbitrary code... and take complete control of the system," Microsoft said in its security advisory. "An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights," according to the advisory.
An attacker could take advantage of an unpatched and locked-down Windows system by logging on and running an attack script that changes a registry key to a special value, the advisory said. When the malware scanner run its next scan, it processes the specially crafted key, the attack script's privileges are elevated to the same user rights as the pre-defined LocalSystem account on the machine. LocalSystem is generally used by the service control manager and has substantial previleges.
The person must already be on the machine with valid login credentials, as anonymous users can't exploit this hole, Microsoft said.
Cerrudo's research examined tactics used by attackers to elevate user access rights, such as impersonation, where a task can appear to be a legitimate process while actually executing code under another account. All services under Windows 2003 and XP can be impersonated regardless of the assigned privilege level, Cerrudo said. Processes running under regular user accounts could also be impersonated, he wrote. Despite having a number of new Windows security features intended to prevent threads from impersonating each other, "elevation of privileges is still possible on all Windows versions," he said.
Despite the likelihood of all the things that have to happen for an exploit targeting this vulnerability to work, IT managers should consider running processes as a regular user with required privileges added on, Cerrudo wrote in his Black Hat paper. There was no need to run SQL Server processes as Network Service or Local Service, he said. Systems running Microsoft Internet Information Services shouldn't run ASP.NET Web applications in full trust mode, he said.
Cerrudo had found other Token Kidnapping issues in previous years, all of which appear to have been fixed, according to Cerrudo. Microsoft fixes were "not enough," he wrote.
The Malware Protection Engine 1.1.6603.0 is the latest version with the fixed vulnerability.