---
id: CVE-2023-4039
title: >-
  **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 d…
summary: >-
  **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 d…
severity: medium
cvss: 4.8
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N'
cwe:
  - CWE-693
vendor: gnu
product: gcc
affected:
  - gcc < 2023-09-12
patched:
  - gcc 2023-09-12
published: '2023-09-13'
updated: '2026-06-23'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2023-4039'
references:
  - url: >-
      https://developer.arm.com/Arm%20Security%20Center/GCC%20Stack%20Protector%20Vulnerability%20AArch64
    label: arm-security@arm.com
  - url: >-
      https://github.com/metaredteam/external-disclosures/security/advisories/GHSA-x7ch-h5rf-w2mf
    label: arm-security@arm.com
  - url: >-
      https://developer.arm.com/Arm%20Security%20Center/GCC%20Stack%20Protector%20Vulnerability%20AArch64
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: >-
      https://github.com/metaredteam/external-disclosures/security/advisories/GHSA-x7ch-h5rf-w2mf
    label: af854a3a-2127-422b-91ae-364da2661108
tags:
  - nvd
epss: 0.00764
epssPercentile: 0.53528
ingestedAt: '2026-06-29T13:24:33.901Z'
---

## Overview

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

## Affected

- `gcc < 2023-09-12`

## Remediation

Upgrade past the affected range:

- `gcc 2023-09-12`
