PublicCVE

CVE-2023-4039

MEDIUM4.8JSON exportCreate alert

Description

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

CVSS breakdown

CVSS 3.1
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

Affected products

  • Arm Ltd / Arm GNU ToolchainAll versions where option -fstack-protector is used – All versions where option -fstack-protector is used
  • gnu / GCCAll versions of GCC that target AArch64 when option -fstack-protector is used – All versions of GCC that target AArch64 when option -fstack-protector is used