Bugzilla – Bug 921465
VUL-0: CVE-2015-0565: ROWHAMMER: DRAM row corruption
Last modified: 2020-02-27 16:27:25 UTC
http://googleprojectzero.blogspot.ca/2015/03/exploiting-dram-rowhammer-bug-to-gain.html Overview “Rowhammer” is a problem with some recent DRAM devices in which repeatedly accessing a row of memory can cause bit flips in adjacent rows. We tested a selection of laptops and found that a subset of them exhibited the problem. We built two working privilege escalation exploits that use this effect. One exploit uses rowhammer-induced bit flips to gain kernel privileges on x86-64 Linux when run as an unprivileged userland process. When run on a machine vulnerable to the rowhammer problem, the process was able to induce bit flips in page table entries (PTEs). It was able to use this to gain write access to its own page table, and hence gain read-write access to all of physical memory. We don’t know for sure how many machines are vulnerable to this attack, or how many existing vulnerable machines are fixable. Our exploit uses the x86 CLFLUSH instruction to generate many accesses to the underlying DRAM, but other techniques might work on non-x86 systems too. We expect our PTE-based exploit could be made to work on other operating systems; it is not inherently Linux-specific. Causing bit flips in PTEs is just one avenue of exploitation; other avenues for exploiting bit flips can be practical too. Our other exploit demonstrates this by escaping from the Native Client sandbox. ...
The amount of things we can do on the software side is limited. The exploit relies on /proc/PID/pagemap, which we could avoid providing access to, but this only makes it a bit harder for the exploit.
Affectedness can be found out by "dmidecode" and looking for the Error Correction modes of the RAM modules. None is bad 1 bit error correction is better multi bit error correct would avoid the problem I guess
bugbot adjusting priority
The various ROWHAMMER attacks improved over the last two years. Since there's not that much we can do about it I don't think we need to keep this bug open