The Neutrino Exploit Kit has added another weapon to its arsenal, adopting a working exploit of Microsoft's Internet Explorer browser after an independent security researcher designed and published the source code of said exploit.
According to a blog post published yesterday by FireEye, the exploit enables attackers to remotely execute code by taking advantage of a scripting engine memory corruption vulnerability previously discovered in Microsoft's Internet Explorer browser, versions 9, 10 and 11. This vulnerability, which is exploitable on at least the Windows 10 operating system, was leveraged in a limited zero-day attack against South Korean assets earlier this year.
After Microsoft released a patch for this problem in May 2016, a researcher who goes by the alias Theori published on June 22 a blog post analyzing the vulnerability and offering his own source code. Not long after, FireEye found a nearly identical exploit in the latest version of Neutrino.
Officially designated CVE-2016-0189, the vulnerability resulted from a failure to place a lock on an array – a series of coding objects that are of the same size and type. Without the lock, malicious actors can potentially change an array's size value while another function is still working on it, triggering a memory corruption, FireEye explains in its blog.
The attack against South Korea did this via a malicious spearphishing link or a compromised website, according to an older Symantec blog post.
In reviewing the patched version of the browser, the researcher Theori noted the sudden introduction of a lock on the array and was able to use this observation to create a working exploit. The cybercriminals behind Neutrino appear to have picked up on it shortly thereafter, counting on the fact that not all Internet Explorer users will download the patch.
According to FireEye's analysis, Neutrino works by embedding multiple exploits in a single Shockwave Flash file. Once it is downloaded and running on a victim's computer, it scans a machine for vulnerabilities and determines which of its many exploits to use in an attack.