stackprotectprologue in cfgexpand.c and stackprotectepilogue 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.
{ "availability": "No subscription required", "ubuntu_priority": "low", "binaries": [ { "binary_version": "9.3.0-10ubuntu2", "binary_name": "cpp-9" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "cpp-9-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "cpp-9-doc" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "g++-9" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "g++-9-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "g++-9-multilib" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gcc-9" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gcc-9-base" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gcc-9-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gcc-9-doc" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gcc-9-hppa64-linux-gnu" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gcc-9-hppa64-linux-gnu-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gcc-9-locales" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gcc-9-multilib" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gcc-9-offload-nvptx" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gcc-9-offload-nvptx-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gcc-9-plugin-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gcc-9-plugin-dev-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gcc-9-source" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gcc-9-test-results" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gccbrig-9" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gccbrig-9-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gccgo-9" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gccgo-9-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gccgo-9-doc" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gccgo-9-multilib" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gdc-9" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gdc-9-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gdc-9-multilib" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gfortran-9" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gfortran-9-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gfortran-9-doc" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gfortran-9-multilib" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gm2-9" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gm2-9-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gnat-9" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gnat-9-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gnat-9-doc" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gobjc++-9" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gobjc++-9-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gobjc++-9-multilib" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gobjc-9" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gobjc-9-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "gobjc-9-multilib" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib32asan5" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib32asan5-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib32gcc-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib32gfortran-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib32go-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib32go14" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib32gphobos-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib32gphobos76" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib32gphobos76-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib32objc-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib32stdc++-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib32stdc++6-9-dbg" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib64asan5" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib64asan5-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib64gcc-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib64gfortran-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib64go-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib64go14" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib64gphobos-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib64gphobos76" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib64gphobos76-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib64objc-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib64stdc++-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "lib64stdc++6-9-dbg" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libasan5" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libasan5-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libgcc-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libgccjit-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libgccjit-9-doc" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libgfortran-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libgm2-0" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libgm2-0-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libgm2-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libgnat-9" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libgnat-9-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libgnatvsn9" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libgnatvsn9-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libgnatvsn9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libgo-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libgo14" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libgphobos-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libgphobos76" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libgphobos76-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libhsail-rt-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libobjc-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libsfasan5" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libsfasan5-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libsfgcc-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libsfgfortran-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libsfgphobos-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libsfgphobos76" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libsfgphobos76-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libsfobjc-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libsfstdc++-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libsfstdc++6-9-dbg" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libstdc++-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libstdc++-9-doc" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libstdc++-9-pic" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libstdc++6-9-dbg" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libx32asan5" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libx32asan5-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libx32gcc-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libx32gfortran-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libx32go-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libx32go14" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libx32gphobos-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libx32gphobos76" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libx32gphobos76-dbgsym" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libx32objc-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libx32stdc++-9-dev" }, { "binary_version": "9.3.0-10ubuntu2", "binary_name": "libx32stdc++6-9-dbg" } ] }