First published: Fri Apr 05 2024(Updated: )
LLVM before 18.1.3 generates code in which the LR register can be overwritten without data being saved to the stack, and thus there can sometimes be an exploitable error in the flow of control. This affects the ARM backend and can be demonstrated with Clang. NOTE: the vendor perspective is "we don't have strong objections for a CVE to be created ... It does seem that the likelihood of this miscompile enabling an exploit remains very low, because the miscompile resulting in this JOP gadget is such that the function is most likely to crash on most valid inputs to the function. So, if this function is covered by any testing, the miscompile is most likely to be discovered before the binary is shipped to production."
Credit: cve@mitre.org
Affected Software | Affected Version | How to fix |
---|---|---|
LLVM | <18.1.3 | |
Clang | <18.1.3 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2024-31852 is considered a critical vulnerability due to the potential for control flow errors that may lead to exploitability.
To mitigate CVE-2024-31852, update LLVM and Clang to version 18.1.3 or later.
CVE-2024-31852 affects all versions of LLVM prior to 18.1.3.
CVE-2024-31852 impacts the ARM backend of LLVM and Clang.
Systems utilizing LLVM or Clang versions before 18.1.3, specifically on ARM architectures, are vulnerable to CVE-2024-31852.