CVE-2018-12886: stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC
CVE-2018-12886 is a high-severity flaw (CVSS 8.1) affecting gcc. Below: why it ranks where it does, which versions are affected, what to do, and the exact commands.
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 contr
Why this priority
- High severity
- Public exploit reference
- Remotely exploitable, no login, no user action
A fixed release or distro patch exists.
Risk facts
| CVSS score | 8.1 (High) |
| Attack vector | Network (remote) |
| Attack complexity | High |
| Privileges needed | None |
| User interaction | None |
| EPSS exploit chance | 2.7% (top 14%) |
| CISA exploited list | No |
| Weakness | CWE-209 |
| Published | 2019-05-22 |
| Last modified | 2026-10-14 |
Last updated 2026-10-14 · Sources: CVE Program, NVD, CISA KEV, EPSS and vendor advisories · How we score
Am I affected?
Timeline
- Published CVE record published
- Updated Record last modified
Scores and fixes here are computed automatically from those and other public sources. Confirm with the vendor advisory before changing production systems.
Quick answers
How do I fix CVE-2018-12886?
gcc: upgrade to newer than 8.0. Exact commands for each OS are on this page.
Is CVE-2018-12886 being exploited?
CVE-2018-12886 is not on the CISA Known Exploited Vulnerabilities list at the time of the last update. Check again, as this can change.
What does CVE-2018-12886 affect?
CVE-2018-12886 affects gcc. Severity is high (CVSS 8.1). 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
How urgent is CVE-2018-12886?
Priority 60/100. High severity; Public exploit reference; Remotely exploitable, no login, no user action
Related CVEs
- CVE-2023-4039 MEDIUM 4.8 UPGRADE **DISPUTED**A failure in the -fstack-protector feature in GCC-based toolchains that target AArch64 allows an
- CVE-2022-27943 MEDIUM 5.5 DOWNGRADE MITIGATE libiberty/rust-demangle.c in GNU GCC 11.2 allows stack consumption in demangle_const, as demonstrated by nm-ne
- CVE-2021-46195 MEDIUM 5.5 DOWNGRADE GCC v12.0 was discovered to contain an uncontrolled recursion via the component libiberty/rust-demangle.c
- CVE-2021-3826 MEDIUM 6.5 DOWNGRADE MITIGATE Heap/stack buffer overflow in the dlang_lname function in d-demangle.c in libiberty allows attackers to potent
- CVE-2019-15847 HIGH 7.5 UPGRADE MITIGATE The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __b