CVE-2018-12886
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 3.0
- 8.1
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - EPSS
- 2.7% chance of exploitation in the next 30 days; higher than 86% of CVEs (scores of 2026-10-25)
- CWE
- CWE-209
- Published
- Modified
- Record from
- the NVD, synced
Affected
- gnu:gcc
References
- https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379&view=markup
- https://www.gnu.org/software/gcc/gcc-8/changes.html
- https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379&view=markup
- https://www.gnu.org/software/gcc/gcc-8/changes.html
- https://cert-portal.siemens.com/productcert/html/ssa-398330.html