One of the patches Microsoft issued last week is nothing of the sort, according to a researcher who has accused Microsoft of making functionality a higher priority than security.
According to Tyler Reguly, a senior security engineer with nCircle Security, last Tuesday's MS09-008 update does not fix the problem for all users, many of whom may not realise that they're still vulnerable to attack.
"When you get a patch from a vendor, you expect it to provide some level of security," said Reguly. "But MS09-008 only mitigates the problem, it doesn't patch it."
MS09-008, one of three security updates released March 10, addressed four separate flaws in Windows' DNS and WNS servers, and required that network administrators patch all currently-supported server editions of Windows, including Windows 2000 Server, Server 2003 and Server 2008.
Reguly has taken exception with the part of the update that addresses a vulnerability in the WPAD (Web Proxy Auto-Discovery) functionality of Windows DNS Server.
"WPAD is a way to automatically configure proxy servers on machines," he explained. "When the browser, like Internet Explorer, is configured to 'Automatically Detect Settings,' it will look for wpad.company.com and attempt to resolve and pull down a configuration file. But if an attacker can manipulate the WPAD entry, all the traffic from those machines will go through his server. That would let him run 'man-in-the-middle' attacks to steal passwords or any other information."
Reguly said that while Microsoft provided a way to mitigate such attacks - the MS09-008 update lets administrators set up a "block list" of domain names that the DNS server will not resolve - it didn't actually fix the underlying problem.
Worse, the update doesn't even execute on servers that already sport WPAD entries. "If you have a valid [WPAD] entry, it's not patched," said Reguly. Nor does Microsoft tell administrators that when they run the update.
"People will assume that they're protected when they're not," he said. "Ideally, Microsoft should have added an error message that when installing the update on a system with a WPAD entry that the mitigation hadn't been applied." Last Friday, after Reguly first went public with his findings, Microsoft defended its approach.
"WPAD is common enterprise functionality, and as such Microsoft needs to be very careful when releasing a security update to ensure that we both protect our customers, and do not break the functionality they have come to rely upon," Maarten Van Horenbeeck, a program manager with the Microsoft Security Response Center said in an entry to the MSRC blog.
"When a DNS server already has an entry for either WPAD or ISATAP before the update is applied, it will not add that name to the block list, and will continue to answer requests for them," Van Horenbeeck continued.
"This is necessary, as many of our customers legitimately use this functionality. Implementing a block list that blocks these names in all cases, requiring the administrator to remove them manually, would break these configurations."
After Reguly raised the issue last week, Microsoft added a reference in the MS09-008 to a support document titled, "Changes to DNS server behaviour after you install the security update for DNS server."
Reguly countered that Microsoft could have patched the problem. "They could have modified the way that dynamic updates work to provide a dynamic update block list, restricting WPAD from being updated dynamically," he said.
But his biggest problem with the way Microsoft went about the update was its putting security lower on the priority list. "I realise that functionality must be maintained to some extent, but I feel they could have maintained that functionality while providing real protection," Reguly said.
"Microsoft clearly puts functionality at a higher priority than security. That means everyone will have to look a bit closer at patches in the future," he said. "This is a step back for Microsoft."