CVE-2018-12886

gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass

Published May 22, 2019 CVSS 3.0 · 8.1 High EPSS 2.7% KEV · Not listed
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2018-4839 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.
Weaknesses

Sources

Status
PUBLISHED
Assigner
mitre
Published
Updated
Oct 14, 2026, 6:30 AM
Reserved
Jun 26, 2018, 12:00 AM
Status
Modified
Published
May 22, 2019, 7:29 PM
Modified
Oct 14, 2026, 7:16 AM
Severity
Moderate
Public date
May 22, 2019, 12:00 AM