In recent developments, a significant vulnerability has been identified in ARM’s Memory Tagging Extension (MTE), a security feature designed to mitigate memory corruption issues in the ARMv8.5-A architecture. This vulnerability exploits speculative execution, a performance optimization feature in modern CPUs, to bypass MTE’s protections and leak sensitive information.
Understanding Memory Tagging Execution (MTE)
MTE aims to prevent memory corruption by tagging memory locations and validating these tags during access. Each 16-byte memory block is assigned a 4-bit tag, and the CPU checks if the tag associated with a memory address matches the tag embedded in the pointer during access. If the tags do not match, the CPU raises a fault, thus preventing potential memory corruption. MTE operates in three modes: synchronous, asynchronous, and asymmetric. Synchronous mode raises faults immediately during memory access, asynchronous mode raises faults during context switches to prioritize performance, and asymmetric mode combines features of both for a balance between security and performance.
Speculative Execution
Speculative execution allows CPUs to predict and execute future instructions to enhance performance. This feature, while beneficial for speed, can be manipulated to access and leak sensitive information by bypassing security checks that are usually enforced during regular execution. Two specific gadgets, termed TIKTAG-v1 and TIKTAG-v2, have been identified to exploit MTE through speculative execution.
Exploiting MTE with Speculative Execution
Two specific gadgets, termed TIKTAG-v1 and TIKTAG-v2, have been identified to exploit MTE through speculative execution.
TIKTAG-v1 Gadget
TIKTAG-v1 exploits branch prediction and data prefetching. It relies on speculative execution to access memory based on predicted branch outcomes, which affects the cache state. The gadget repeatedly dereferences a guessed pointer, causing speculative tag checks. Differences in cache state between tag match and mismatch reveal the correct tag, as speculative execution does not immediately enforce tag checks, allowing an attacker to infer the tag from observed cache behavior. In real-world applications, such as Google Chrome and the Linux kernel, TIKTAG-v1 can leak MTE tags with high accuracy within seconds, enabling attackers to exploit memory corruption vulnerabilities effectively.
TIKTAG-v2 Gadget
TIKTAG-v2 exploits store-to-load forwarding. When speculative execution performs a store followed by a load operation, the CPU may forward data without completing the store operation if the tags match. By using store and load instructions to check for tag matches, differences in cache hits and misses can indicate tag correctness. This method relies on the CPU’s behavior to forward data during speculative execution paths. Demonstrated in the V8 JavaScript engine and Chromium, TIKTAG-v2 can leak MTE tags effectively, showing how speculative execution can be used to bypass security mechanisms.
Implications for ARM MTE Security
The vulnerability reveals that speculative execution can undermine MTE’s intended protections by leaking tags and allowing unauthorized memory access. This bypasses the fault-raising mechanism of MTE, enabling attackers to execute malicious code or manipulate data undetected. In Google Chrome’s V8 engine, TIKTAG-v2 achieved nearly 100% success in leaking MTE tags, demonstrating the feasibility of such attacks in high-profile software. A TIKTAG-v1 gadget found in the Linux kernel’s snd_timer_user_read()
showed potential for leaking tags in kernel space, highlighting the vulnerability’s impact on core system components.
Mitigation Strategies
While MTE is a robust mechanism against traditional memory corruption, the discovery of these speculative execution vulnerabilities calls for additional security measures. Potential mitigations include inserting speculative barriers to prevent speculative execution from accessing sensitive data, adding non-essential instructions to delay speculative execution paths, and redesigning CPUs to handle tag checks consistently, regardless of speculative execution states. These findings emphasize the need for continuous advancements in security protocols and hardware design to counteract sophisticated exploitation techniques leveraging speculative execution.
How Can Netizen Help?
Netizen ensures that security gets built-in and not bolted-on. Providing advanced solutions to protect critical IT infrastructure such as the popular “CISO-as-a-Service” wherein companies can leverage the expertise of executive-level cybersecurity professionals without having to bear the cost of employing them full time.
We also offer compliance support, vulnerability assessments, penetration testing, and more security-related services for businesses of any size and type.
Additionally, Netizen offers an automated and affordable assessment tool that continuously scans systems, websites, applications, and networks to uncover issues. Vulnerability data is then securely analyzed and presented through an easy-to-interpret dashboard to yield actionable risk and compliance information for audiences ranging from IT professionals to executive managers.
Netizen is an ISO 27001:2013 (Information Security Management), ISO 9001:2015, and CMMI V 2.0 Level 3 certified company. We are a proud Service-Disabled Veteran-Owned Small Business that is recognized by the U.S. Department of Labor for hiring and retention of military veterans.
Questions or concerns? Feel free to reach out to us any time –
https://www.netizen.net/contact
![](https://blog.netizen.net/wp-content/uploads/2021/01/netizen_logo.png)