If you followed IT in the last years, you might remember that Stuxnet was discovered around mid-2010 and at the time it was used against the Iranian nuclear program. The popular malware contains a series of zero days vulnerabilities including the Windows Shell vulnerability, which is related to LNK files (CVE-2010-2568) and used starting from 2009.
The Windows Shell vulnerability allows a remote or local attacker run code via a malicious .LNK or.PIF file via an improperly handled icon displayed in Windows Explorer.
The LNK files vulnerability was initially spread around Pakistan before the attack on the Iranian systems.
By the time it was discovered the issue, Microsoft launched the “MS10-046” and released a patch to fix the problem in 2010, well, that isn’t entirely true because the company is still trying to fix it again with the “MS15-018” patch as explained by the German researcher Michael Heerklotz that discovered in early 2015 that the patch was ineffective.
Experts at Kaspersky Lab discovered that in the period between November 2013 and June 2014, the Windows Shell vulnerability (CVE-2010-2568) exploited by Stuxnet was detected 50 million times targeting nearly 19 million machines all over the world. A report issued by Kaspersky provided the following data on the infection distribution:
So were we vulnerable until now? Yes, I ‘am afraid we were.
“The patch failed. And for more than four years, all Windows systems have been vulnerable to exactly the same attack that Stuxnet used for initial deployment,” said HP researcher, Dave Weinstein.
“Windows allows .LNK files, which define shortcuts to other files or directories, to use custom icons from .CPL (Control Panel) files. The problem is that in Windows, icons are loaded from modules (either executables or dynamic link-libraries),” continues Weinstein.
“In fact, .CPL files are actually DLLs. Because an attacker could define which executable module would be loaded, an attacker could use the .LNK file to execute arbitrary code inside of the Windows shell and do anything the current user could.”
In order to exploit the flaw, the attacker can exploit the CVE-2015-0096.
“An attacker has to create a malicious LNK file with a link path of exactly 257 characters containing embedded unescaped spaces, and two “target” files – one with embedded unescaped spaces and one without. This is not difficult on a usb stick, and it bypasses much of the effective defenses Microsoft has developed for years.” explained Kurt Baumgartner from Kaspersky.
Resuming, Microsoft issued the fix to this problem in MS15-018, the bulletin is considered critical and requires reboot, don’t waste time and apply it!
About the Author Elsio Pinto
(Security Affairs – Stuxnet, CVE-2010-2568, LNK flaw)