I'm going to be that jerkface and predict that MTE won't do all that much. It's a pretty weak mitigation that requires a lot of work to adopt.
-
-
Replying to @Gok @johnregehr
MTE requires relatively little work to adopt (I say this as someone who's adamant about not adopting invasive "hardening" snakeoil like CET) and completely closes off huge classes of vulns.
3 replies 0 retweets 4 likes -
Yes
@lazytyped worked on this for sparc. It really is worth it.1 reply 0 retweets 2 likes -
Replying to @binarycrusader @Gok and
Yep. Even if folks are critical of the limits of 4 bits for UAF protection, completely eliminating all stack, heap, data/bss, and tls based buffer overflows is huge.
2 replies 0 retweets 1 like -
Replying to @RichFelker @binarycrusader and
I still don’t really agree with that characterization. The overflow protection has the same 4-bits-ain’t-enough issue, and it only works at all for a subset of memory management strategies.
3 replies 0 retweets 0 likes -
Replying to @Gok @binarycrusader and
No it doesn't. You only need a single bit of tagging for overflow protection, so that no two adjacent objects have the same tag.
1 reply 0 retweets 0 likes -
Replying to @RichFelker @binarycrusader and
Heap grooming to setup overflows that span non-adjacent allocations isn’t that wild.
2 replies 0 retweets 0 likes -
Replying to @Gok @RichFelker and
Yeah, I realized after typing that that it isn’t necessarily that strong. Scenario: Attacker can leak pointers and has a write primitive through pointer P plus attacker-controlled offset. Attacker just needs to find some target with tag(P). Can be easy with only 4 bits.
2 replies 0 retweets 0 likes -
If offset is fully attacker-controlled and you know the tags, you can just put tag2-tag1 in the upper bits of it and target any tag you want.
2 replies 0 retweets 0 likes -
Replying to @RichFelker @Gok and
Ah yes, true! (Though doesn’t MTE have an instruction to offset a pointer that doesn’t overflow into the tag? Maybe I’m misremembering.)
1 reply 0 retweets 1 like
(No, it doesn’t seem to. I only see a subtract operation and an immediate add operation here.)https://en.wikichip.org/wiki/arm/mte
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.