{"id":"CVE-2018-12886","details":"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.","modified":"2026-03-14T09:34:54.984911Z","published":"2019-05-22T19:29:00.297Z","related":["CGA-cwff-7599-rg47"],"references":[{"type":"ADVISORY","url":"https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379&view=markup"},{"type":"EVIDENCE","url":"https://www.gnu.org/software/gcc/gcc-8/changes.html"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/gcc-mirror/gcc","events":[{"introduced":"dcaac250fcc1a1ce514d97613e4547aded83033c"},{"last_affected":"341e59fef8d4b9c86f1c95abfe3ed60482293f23"}],"database_specific":{"versions":[{"introduced":"4.1"},{"last_affected":"8"}]}}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2018-12886.json","unresolved_ranges":[{"events":[{"introduced":"4.1"},{"last_affected":"8.0"}]}]}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}