CVE-2024-45746 Memory corruption in n/a
An attacker can exploit unchecked pointer validation in mailbox messages to write arbitrary data to secure firmware, enabling remote code execution and control flow hijacking.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2024-45746?
CVE-2024-45746 is a critical memory corruption vulnerability in n/a, published on 9 Oct 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
An issue was discovered in Trusted Firmware-M through 2.1.0. User provided (and controlled) mailbox messages contain a pointer to a list of input arguments (in_vec) and output arguments (out_vec). These list pointers are never validated. Each argument list contains a buffer pointer and a buffer length field. After a PSA call, the length of the output arguments behind the unchecked pointer is updated in mailbox_direct_reply, regardless of the call result. This allows an attacker to write anywhere in the secure firmware, which can be used to take over the control flow, leading to remote code execution (RCE).
Weakness: CWE-120
Which versions are affected by CVE-2024-45746?
How do I fix CVE-2024-45746?
No fix has been published for CVE-2024-45746 yet. Limit exposure of the affected software until one is available.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2024-45746 being exploited?
There is no known exploitation of CVE-2024-45746 in the wild and no public exploit code.
Sources
Also known as GHSA-jwrv-68vx-g565.