Our latest post details how we exploited Retbleed (a CPU vulnerability) to compromise a machine from a sandboxed process and VM!
Curious? 👇
bughunters.google.com/blog/6…
As promised, more details!
TL;DR: AMD used CMAC with an example key from the standard as a hash function for the microcode update signatures. This let us create signatures that look valid to the CPU.
No, it's a kernel mode virtual address, so it's 0xffffXXXXYYYYZZZZ but on 64-bit Linux unsigned long should be 64-bit wide. That code won't work as-is on other OSes or on 32-bit so it should be fine.
It's hacky research code :D
A bit late but here is a recording of the mix I did for the LakeCTF 2024 finals (lakectf.epfl.ch).
6 hours of my favorite peak time and minimal techno, enjoy!
soundcloud.com/nspace-877713…
This is not type isolation, it prevents attackers from confusing between objects allocated in two different caches. It's a prerequisite for type isolation and similar mitigations