{"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-07-08T05:50:53.545273493Z","published":"2019-05-22T19:29:00.297Z","related":["CGA-cwff-7599-rg47"],"database_specific":{"unresolved_ranges":[{"cpes":["cpe:2.3:a:gnu:gcc:*:*:*:*:*:*:*:*"],"extracted_events":[{"introduced":"4.1"},{"last_affected":"8.0"}],"source":"CPE_RANGE","vendor_product":"gnu:gcc"}]},"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"},{"fixed":"341e59fef8d4b9c86f1c95abfe3ed60482293f23"}],"database_specific":{"extracted_events":[{"introduced":"4.1"},{"fixed":"8"}],"source":"DESCRIPTION"}}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2018-12886.json"}}],"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"}]}