Whoever thought loading an anti-virus engine into the Windows kernel was a good idea should finally have proof that they were completely and utterly wrong.
That proof has arrived from Tavis Ormandy of Google's Project Zero team, who discovered the Symantec Antivirus Engine was vulnerable to a buffer overflow when parsing malformed portable-executable (PE) header files.
"Such malformed PE files can be received through incoming email, downloading of a document or application, or by visiting a malicious web site," Symantec said in its advisory on the issue dubbed CVE-2016-2208.
"No user interaction is required to trigger the parsing of the malformed file."
For Linux, OS X, and other Unix-like systems, the exploit results in a remote heap overflow as root in the Symantec or Norton process, Ormandy said in the Project Zero issue tracker.
"On Windows, this results in kernel memory corruption, as the scan engine is loaded into the kernel (wtf!!!), making this a remote ring0 memory corruption vulnerability -- this is about as bad as it can possibly get," he said.
Symantec said the "most common symptom of a successful attack" would be a system crash and a blue screen of death.
When Ormandy attempted to inform Symantec of the vulnerability, the email he sent crashed Symantec's mail server.
"This is a remote code execution vulnerability. Because Symantec use a filter driver to intercept all system I/O, just emailing a file to a victim or sending them a link is enough to exploit it," Ormandy said in his explanation.
Symantec pushed out a fix for its products on Monday, and said products that run LiveUpdate should be be patched.
According to Ormandy, Symantec Endpoint Antivirus, Norton Antivirus, Symantec Scan Engine, and Symantec Email Security on all platforms were affected, as well as "probably all other Symantec Antivirus products".