Memory sealing for the GNU C Library
lwn.net
lwn.net
So, a hypotetical attack would involve 1) Corrupt a pointer passed to munmap, such that it points to some believed-executable part of the code (e.g. the MPEG decompression library code, or something like that). 2) Cause a future `mmap` to reuse that page with writable permissions, and in particular have the returned page be one that is eventually destined for being marked executable (e.g. the caller should be the JIT compiler). 3) Modify the writable page to control code you want at a known address (e.g. by having the JIT emit code you want, or by having another vulnerability that writes to this address). 4) Have the target page marked executable (e.g. by finishing the JIT compilation). 5) Finally, call the executable page (e.g. attempt to decompress an MPEG file).
In the absence of already having arbitrary code execution (which would make the whole process moot), this whole thing requires a JIT compiler (since it has to already contain a call to `mprotect` that sets a page executable), and either the JIT compiler has a bug or a separate thread performs step 3.
Are there any example of this kind of attack actually happening? Is there a simpler attack I'm not seeing?
One use of mseal is for defense in depth, where you try making it as hard as possible to un-sandbox the sandbox.
It's 2024; the infotainment displays and UI from the major (legacy) Detroit automakers just makes my skin-crawl from the touch-latency, single-digit frame-rates, and overall lack-of-good-taste in design. And yet, we've known for decades that having smooth and fluid (60fps) UI goes a long way to reducing user stress and frustration.
(I stress that I'm not advocating huge touch-screens for everything; but yet it's a sad day when Tesla's demonstrably unsafe touch-screen UX is otherwise oftentimes better overall than the physical-ish buttons/ridges (capacitative touch?!!) from Chevrolet (and I'm still waiting for a volume-knob with detents...).
Given this, it's surprising to me to see reluctance to adopting second-generation CarPlay, but someone who knows more about the tradeoffs can certainly account for that better than I can.
If they had just made the radio tuning knob into a scroll wheel for the UI, it would be so much easier, quicker, safer to navigate the screen. But I know they'll be going in the opposite direction due to tech trends. We need hackers to save us.
This hasn't stopped appalling bloat becoming the norm on the web, either.
edit On second thought, it can harm framerates too. There are plenty of webdev discussion threads about achieving 60fps.