The current state of kernel page-table isolation
lwn.net
lwn.net
Address randomization is nice, but if an attacker can write to arbitrary pages, potentially including the kernel, isn't it game over no matter what? I'm not an expert on this and would be interested to know more.
Also, do these activities imply that there may be significant known but embargoed vulnerabilities? In particular, Linux accepting a patch like this so late into the release cycle.
NB: My understanding of this is purely arm's-length. I've never actually done exploit development.
Short version: you need to know the layout of the code in order to actually exploit those other vulnerabilities.
Longer version:
Attackers: We can inject machine code into the stack and execute it [1].
Developers: Not anymore; stack pages aren't executable [2].
Attackers: We can turn your own code against you by manipulating the stack to "return" to an arbitrary sequence of pre-existing functions with arguments of our choosing [3].
Developers: Not anymore; we randomize the address space every time we load the code, so now you don't know where those functions are. You could guess, but you're going to be wrong and just crash the system almost all of the time [4].
Attackers: For the kernel on x86/amd64 systems, we have a way of reading the page table from an exploited user process, which we can then parse to discover where you located those functions. <---- you are here
[1] https://en.wikipedia.org/wiki/Stack_buffer_overflow#Exploiti...
[2] https://en.wikipedia.org/wiki/NX_bit
[3] https://en.wikipedia.org/wiki/Return-oriented_programming
[4] https://en.wikipedia.org/wiki/Address_space_layout_randomiza...
In situations like these it really pays of to have at least some parts of the system developed as free software. In a dystopian alternative reality where free software never happenend, people would hardly ever hear about these issues, even though issues like these would still be there, and maybe even worse.
Waiting for affordable open/free hardware single board computers like for example lowRISC is aiming to offer is becoming harder and harder. I'm already sitting on my hands (and pocket).
Having the benefit of hindsight, I hope they have avoided this issue.