Findings

CVE-2023-4039

GCC's-fstack-protector fails to guard dynamically-sized local variables on AArch64

Published Sep 13, 2023 · updated Oct 14, 2026 · Arm Ltd Arm GNU Toolchain

**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.

Timeline

Detection, updates, and resolution for this record.

  1. Sep 13, 2023 · NIST NVD

    Detected

    **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 int

  2. Oct 14, 2026 · NIST NVD

    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 int

Affected

  • cpe gnu/gccversion unspecified
  • vendor Arm Ltd Arm GNU Toolchainversion unspecified
  • vendor GNU GCCversion unspecified

Sources

  • **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 app

    vulnerability.circl.lu
  • CVE.orgCVE-2023-4039

    Official CVE identifier

    cve.org
  • FIRST EPSSCVE-2023-4039

    30-day exploitation probability 0.8%

    first.org
  • NIST NVDCVE-2023-4039

    **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

    nvd.nist.gov

References

CVE-2023-4039 · ZeroDay Findings