Video: Meltdown-Spectre attack variants discovered
Microsoft's early patches for Intel's Meltdown CPU vulnerability created an even bigger problem in Windows 7 that allowed any unprivileged application to read kernel memory.
Microsoft's January and February patches stopped the Meltdown bug that exposed passwords in protected memory, but security researcher Ulf Frisk has discovered that the patches introduced a far worse kernel bug, which allows any process to read and write anywhere in kernel memory.
Frisk says the vulnerability affects Windows 7 x64 and Windows 2008R2 with the January or February patches.
According to Frisk, the two faulty patches wrongly set a bit in the virtual-to-physical-memory translator known as PLM4 to allow any user-mode application to access the kernel's page tables.
Intel's CPU uses these page tables to translate the virtual memory of a process into physical memory. The correctly set bit would normally ensure the kernel has exclusive access to these tables.
"In short -- the User/Supervisor permission bit was set to User in the PML4 self-referencing entry. This made the page tables available to user mode code in every process. The page tables should normally only be accessible by the kernel itself," he said.
"The PML4 is the base of the 4-level in-memory page table hierarchy that the CPU Memory Management Unit (MMU) uses to translate the virtual addresses of a process into physical memory addresses in RAM."
Download now: IT leader's guide to cyberattack recovery
Also, Frisk says the bug would be "trivially easy" to use to access all physical memory on, due to the PML4 page table being located at a fixed memory address in Windows 7. This situation means an attacker will also be able to locate the Windows 7 page table that is now accessible by user-mode applications.
"Windows 7 already did the hard work of mapping in the required memory into every running process. Exploitation was just a matter of read and write to already mapped in-process virtual memory," writes Frisk.
"Once read/write access has been gained to the page tables it will be trivially easy to gain access to the complete physical memory, unless it is additionally protected by Extended Page Tables (EPTs) used for Virtualization. All one [has] to do is to write [one's] own Page Table Entries (PTEs) into the page tables to access arbitrary physical memory."
Frisk advised all admins and users of Windows 7 and Windows 2008R2 to install Microsoft's March patch to resolve it. Windows 10 and Windows 8.1 are unaffected.
Previous and related coverage
Intel's fixed microcode updates to mitigate the Spectre attack have now reached Sandy Bridge and Ivy Bridge chips.
Sensitive data protected by Intel's Software Guard Extensions could be open to a new side-channel attack.
Chips that sparked Intel's recall of microcode for Spectre Variant 2 attack now have stable fixes.
Intel faces 32 class action lawsuits over its processor flaws and says more may be in the pipeline.
Intel and AMD may need to revisit their microcode fixes for Meltdown and Spectre.
The performance impact of Meltdown patches makes it essential to move systems to Linux 4.14.
And offers patching tips from US CERT, which it failed to brief on the bugs.
Malware makers are experimenting with malware that exploits the Spectre and Meltdown CPU bugs.
The out-of-band update disabled Intel's mitigation for the Spectre Variant 2 attack, which Microsoft says can cause data loss on top of unexpected reboots.
Great work on patching your own products, but why were smaller tech companies kept in the dark?
Roughly a week after the update was released, many machines still lack the fix for the critical CPU vulnerabilities.
Our devices may never truly be secure, says the CEO of the company that designs the heart of most mobile chips.