Turns out a vulnerability discovered earlier this year in antivirus software from AVG also was present in AV software products from Intel McAfee and Kaspersky Lab.
The security bug -- which researchers at enSilo in March reported in AVG's Internet Security 2015 build 5736 and virus database 8919 -- centers around how the AV products in question allocate memory for read, write, and execute purposes.
The AV products use "predictable" addresses that in turn could allow malware to exploit vulnerable, out-of-date third-party Windows applications for nefarious purposes. That effectively bypasses the AV system and makes it easier for bad guys to exploit vulnerable browsers or Adobe Reader, for example, to hack a Windows machine. enSilo today disclosed that this fall, it found the flaw in Kaspersky Lab'sKaspersky Total Security 2015 - 220.127.116.111 - kts18.104.22.1681en_7342 and McAfee's Virus Scan Enterprise version 8.8, including in its Anti Malware + Add-on Modules, Scan Engine version (32 bit) 5700.7163, DAT version 7827.0000, Buffer Overflow and Access Protection DAT version 659, after building its own tool to test AV products for the flaw.
Both Kaspersky Lab and Intel McAfee have patched the flaw in their respective products -- AVG fixed its bug just days after enSilo alerted the company -- but enSilo says the vulnerability could well exist in other software such as data leak prevention and performance monitoring products.
The flaw can only be exploited in Windows XP, Vista, and 7 machines. "The problem exists in Windows 8, but Microsoft saves them from the vulnerability because the … address is randomized," says Tomer Bitton, co-founder and vice president of research at enSilo.
Bitton says the critical bug basically converts AV into a tool for an attacker. enSilo today also released a free tool for companies and vendors to test whether their security products contain the bug.
"The problem is injection of code from the kernel to user mode," Bitton says. Fixing the bug entails the AV vendors changing permissions in the memory space, he says, limiting it to read and eliminating the "write" capability.
"The attacker doesn't need to bypass it [AV with this bug]. They have the address inside memory, and copying code inside the memory base in AV that it has allocated. It's very easy" to exploit, he says.
Intel issued a patch for its products in August. "Intel Security takes the integrity of our products very seriously. Upon learning of this particular issue, we quickly evaluated the researchers' claims and took action to develop and distribute a solution addressing it. This solution was distributed to customers in a patch on August 20, 2015," an Intel McAfee spokesperson said in emailed comments.
Kaspersky Lab fixed the bug in September, and says the vulnerability can't be exploited without the presence of a vulnerable third-party Windows application as well, such as a stack-based buffer overflow bug. "The allocation of Read/Write/Execute (RWX) memory by Kaspersky Lab solutions at predictable addresses could be used by exploits to facilitate ROP attack technique," according to a Kaspersky Lab spokesperson in an email exchange. "The vulnerability couldn’t be exploited by itself with code execution and privilege escalation, but could have simplified the exploitation of third party application vulnerabilities, such as stack based buffer-overflow.
So far, neither enSilo nor the other security firms have seen signs of the bug being exploited in the wild.
But enSilo points out that Google's Tavis Ormandy in September was able to exploit a similar bug in Kaspersky's software using the flaw enSilo uncovered.
"These types of vulnerabilities clearly demonstrate the problems in the security eco-system. On the one hand, Microsoft invests loads of resources in defenses, mitigations and enhancements to strengthen its system against compromise. On the other hand, there’ll always be some oversight in applications. Unfortunately, it’s precisely vulnerable third party applications which can lead to the compromise of these same defenses," enSilo wrote in a blog post today.