CVE-2018-12886
gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass
Severity
ModerateRed Hat Product Security
CVSS 3.0
Review impact separately from score.
Published · May 22, 2019
Updated · March 3, 2026
Description
stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
No mitigation is specified in collected source.
CVSS / CWE
CVSS 3.0 · 6.8CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
CWE-119 · Improper Restriction of Operations within the Bounds of a Memory Buffer