What is Memory Tagging Extension (MTE)?
An Arm extension added in Armv8.5-A. A 4-bit tag is attached to every 16 bytes of memory and a 4-bit tag is also placed in the upper bits of the pointer, and the CPU checks on every access whether the two match. Use of memory after it has been freed and out-of-bounds accesses can be found probabilistically at low cost.
Japanese name: MTE(メモリタギング拡張)
Memory Tagging Extension (MTE) appears in 1 practice question across 1 topic, including Hardware Security: Advanced Topics and Trends.
Field: Hardware Security: Advanced Topics and Trends
FAQ
Where is MTE used?
As of the mid-2020s, some smartphone SoCs support it, and OSes and memory allocators are enabling it for development-time checking and to make attacks harder. Both supporting hardware and supporting software are needed.
Does MTE stop attacks that exploit memory errors?
It catches many errors and makes attacks harder, but tags can match by chance, and its effect drops if tag values are guessed or leaked. Because detection is probabilistic, it is combined with mechanisms such as CHERI or with memory-safe languages where deterministic guarantees are required.