A Microsoft kernel flaw has been discovered in the PsSetLoadImageNotifyRoutine in all operating systems from Windows 2000 to the most recent version of Windows 10.
Microsoft launched PsSetLoadImageNotifyRoutine in Windows 2000 to notify registered drivers in different parts of the kernel when a PE image file has been loaded or mapped into memory. Highest-level system-profiling drivers can call it to set up their load-image notify routines.
Researchers at endpoint security firm enSilo found a flaw in Microsoft's API while digging into the Windows kernel. They noticed that after registering a notification routine for loaded PE images with the kernel, the callback may receive invalid image names. The problem was first believed to be a random issue but is actually rooted in the kernel.
"The bug exists in an API Microsoft provides to security vendors in order to allow them to know of a file being loaded by the operating system," explains enSilo cofounder and CTO Udi Yavo. "The API is not functioning correctly, and may give the vendor invalid files that may cause the vendor to miss malware."
The programming error could prevent vendors and kernel developers from identifying which modules are loaded at runtime, reports enSilo security researcher Omri Misgav in a blog post on the finding. This means an attacker could load a malicious module, disguised as a legitimate one, into a Windows environment without triggering an alert.
"This implies malware like rootkits and ransomware could potentially evade installed monitoring software such as antivirus and host-based intrusion detection," says Dustin Childs, communications manager for the Zero-Day Initiative. He also adds that it "isn't terribly shocking" that it spans Windows 2000 through Windows 10.
"Windows has a long history, and it's not uncommon for code to span multiple versions," he notes.
While this bug would not allow for a direct exploit of the Windows OS, threat actors could exploit this bug to bypass certain systems from vendors using Microsoft's API. Products relying on the API would not be able to detect potentially malicious files, giving attackers a means to gain a foothold in enterprise systems.
"We have reported this issue to Microsoft," notes Yavo, adding that the company does not plan to create a patch at this time. While he doesn't think this specific issue is easily exploited in the wild, it's difficult to know whether attackers have used it.
In response to the finding, a Microsoft spokesperson says "Our engineers reviewed the information and determined this does not pose a security threat and we do not plan to address it with a security update."
The research, while interesting, is still ongoing, Childs says. "Exploitability likely won't be able to be determined until the research is complete," says Childs. "Until then, this research should remind businesses that no product or technology is infallible. Multiple tools and techniques should be used to provide the best available protections."
Even if no patch is issued for this, Childs advises businesses to focus on tactics that boost their overall defenses.
"Techniques like network isolation, monitoring, A/V and patch hygiene, help increase a business' security posture regardless of an individual bug," he says. "You will never be able to stop all bugs, but you can put yourself in a good position to spot when exploits are targeting your systems."
Yavo says the team is still digging into this research and will release more findings as they are discovered.
- Amazon S3 Bucket Leaks Expose Classified US Veteran Data
- 10 Time-Consuming Tasks Security People Hate
- Data Breach Costs Vary Significantly by Organization
- Endpoint Security Overload