Answer in brief
CVE-2023-4039 records a Medium severity (CVSS 4.8) vulnerability in GCC's-fstack-protector fails to guard dynamically-sized local variables on AArch64. The current sources do not mark it as known exploited. The current feed maps Arm Ltd/Arm GNU Toolchain (generic), GNU/GCC (generic). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
CVSS is 4.8. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps Arm Ltd/Arm GNU Toolchain (generic), GNU/GCC (generic). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| Arm Ltd/Arm GNU Toolchaingeneric | All versions where option -fstack-protector is used | Not reported |
| GNU/GCCgeneric | All versions of GCC that target AArch64 when option -fstack-protector is used | Not reported |
Published upstream
Sep 13, 2023
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Jun 23, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Jun 23, 2026
**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.
Quoted source text, attributed separately from HOL analysis.
Answer in brief
CVE-2023-4039 records a Medium severity (CVSS 4.8) vulnerability in GCC's-fstack-protector fails to guard dynamically-sized local variables on AArch64. The current sources do not mark it as known exploited. The current feed maps Arm Ltd/Arm GNU Toolchain (generic), GNU/GCC (generic). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
CVSS is 4.8. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps Arm Ltd/Arm GNU Toolchain (generic), GNU/GCC (generic). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| Arm Ltd/Arm GNU Toolchaingeneric | All versions where option -fstack-protector is used | Not reported |
| GNU/GCCgeneric | All versions of GCC that target AArch64 when option -fstack-protector is used | Not reported |
Published upstream
Sep 13, 2023
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Jun 23, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Jun 23, 2026
**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.
Quoted source text, attributed separately from HOL analysis.