First published: Wed Sep 13 2023(Updated: )
**DISPUTED**A failure in the -fstack-protector feature in GCC-based toolchains that target AArch64 allows an attacker to exploit an existing buffer overflow in dynamically-sized local variables in your application without this being detected. This stack-protector failure only applies to C99-style dynamically-sized local variables or those created using alloca(). The stack-protector operates as intended for statically-sized local variables. The default behavior when the stack-protector detects an overflow is to terminate your application, resulting in controlled loss of availability. An attacker who can exploit a buffer overflow without triggering the stack-protector might be able to change program flow control to cause an uncontrolled loss of availability or to go further and affect confidentiality or integrity. NOTE: The GCC project argues that this is a missed hardening bug and not a vulnerability by itself.
Credit: arm-security@arm.com arm-security@arm.com
Affected Software | Affected Version | How to fix |
---|---|---|
GNU GCC | <2023-09-12 | |
<2023-09-12 |
https://developer.arm.com/Arm%20Security%20Center/GCC%20Stack%20Protector%20Vulnerability%20AArch64
Recompile vulnerable code using an updated toolchain.
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2023-4039 is a vulnerability that affects GCC-based toolchains targeting AArch64, allowing an attacker to exploit buffer overflows in dynamically-sized local variables.
The -fstack-protector feature in GCC-based toolchains provides protection against stack buffer overflows by adding canaries, or integrity checks, to the stack.
The impact of CVE-2023-4039 is that an attacker can exploit buffer overflows in dynamically-sized local variables without detection.
To protect your application from CVE-2023-4039, make sure to update your GCC-based toolchain to a version that includes the fix for this vulnerability.
You can find more information about CVE-2023-4039 on the Arm Security Center website and the GitHub Advisory database.