Your submission was sent successfully! Close

You have successfully unsubscribed! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates about Ubuntu and upcoming events where you can meet our team.Close

CVE-2018-12886

Published: 22 May 2019

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.

Notes

AuthorNote
mdeslaur
Upstream has fixed this in GCC9 only as of 2019-05-30.
32-bit ARM only, risky backport, and would require archive
rebuild.
Setting priority as low for now, we may decide this issue is
not worth fixing in stable releases.
sbeattie
14.04 LTS (trusty) Pro Infra and 16.04 LTS (xenial) Pro Infra
do not support 32-bit Arm as an architecture.

Priority

Low

Cvss 3 Severity Score

8.1

Score breakdown

Status

Package Release Status
gcc-6
Launchpad, Ubuntu, Debian
cosmic Ignored
(end of life)
disco Ignored
(end of life)
eoan Does not exist

focal Does not exist

trusty Does not exist

upstream Needs triage

xenial Does not exist

impish Does not exist

bionic Needed

hirsute Does not exist

jammy Does not exist

lunar Does not exist

groovy Does not exist

kinetic Does not exist

mantic Does not exist

gcc-7
Launchpad, Ubuntu, Debian
cosmic Ignored
(end of life)
impish Does not exist

bionic Needed

hirsute Ignored
(end of life)
jammy Does not exist

lunar Does not exist

disco Ignored
(end of life)
eoan Ignored
(end of life)
groovy Ignored
(end of life)
kinetic Does not exist

trusty Does not exist

upstream Needs triage

xenial Does not exist

focal Needed

mantic Does not exist

gcc-snapshot
Launchpad, Ubuntu, Debian
groovy Ignored
(end of life)
kinetic Ignored
(end of life, was needs-triage)
hirsute Ignored
(end of life)
jammy Needs triage

cosmic Ignored
(end of life)
disco Ignored
(end of life)
eoan Ignored
(end of life)
impish Ignored
(end of life)
trusty Does not exist

upstream Needs triage

xenial Needs triage

bionic Needed

focal Not vulnerable
(1:20200418-1ubuntu1)
mantic Needs triage

lunar Ignored
(end of life, was needs-triage)
gcc-4.8
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

jammy Does not exist

xenial Ignored
(ESM criteria, 32-bit ARM not supported)
lunar Does not exist

bionic Needs triage

cosmic Ignored
(end of life)
disco Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

kinetic Does not exist

upstream Needs triage

trusty Ignored
(ESM criteria, 32-bit ARM not supported)
mantic Does not exist

gcc-4.9
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

xenial Ignored
(ESM criteria, 32-bit ARM not supported)
jammy Does not exist

lunar Does not exist

bionic Does not exist

cosmic Does not exist

disco Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

kinetic Does not exist

trusty Does not exist

upstream Needs triage

mantic Does not exist

gcc-arm-none-eabi
Launchpad, Ubuntu, Debian
kinetic Ignored
(end of life, was needs-triage)
hirsute Ignored
(end of life)
xenial Needs triage

jammy Needs triage

bionic Needs triage

cosmic Ignored
(end of life)
disco Ignored
(end of life)
eoan Ignored
(end of life)
focal Needs triage

groovy Ignored
(end of life)
impish Ignored
(end of life)
trusty Does not exist

upstream Needs triage

mantic Needs triage

lunar Ignored
(end of life, was needs-triage)
gcc-avr
Launchpad, Ubuntu, Debian
focal Not vulnerable
(arm only)
groovy Not vulnerable
(arm only)
impish Not vulnerable
(arm only)
jammy Not vulnerable
(arm only)
kinetic Not vulnerable
(arm only)
lunar Not vulnerable
(arm only)
upstream Not vulnerable
(arm only)
hirsute Not vulnerable
(arm only)
xenial Not vulnerable
(arm only)
trusty Does not exist

bionic Not vulnerable
(arm only)
cosmic Not vulnerable
(arm only)
disco Not vulnerable
(arm only)
eoan Not vulnerable
(arm only)
mantic Not vulnerable
(arm only)
gcc-h8300-hms
Launchpad, Ubuntu, Debian
bionic Not vulnerable
(arm only)
cosmic Not vulnerable
(arm only)
disco Not vulnerable
(arm only)
eoan Not vulnerable
(arm only)
focal Not vulnerable
(arm only)
groovy Not vulnerable
(arm only)
hirsute Not vulnerable
(arm only)
impish Not vulnerable
(arm only)
jammy Not vulnerable
(arm only)
kinetic Not vulnerable
(arm only)
lunar Not vulnerable
(arm only)
upstream Not vulnerable
(arm only)
xenial Not vulnerable
(arm only)
trusty Does not exist

mantic Not vulnerable
(arm only)
gcc-m68hc1x
Launchpad, Ubuntu, Debian
bionic Not vulnerable
(arm only)
cosmic Not vulnerable
(arm only)
disco Not vulnerable
(arm only)
eoan Not vulnerable
(arm only)
focal Not vulnerable
(arm only)
groovy Not vulnerable
(arm only)
hirsute Not vulnerable
(arm only)
impish Not vulnerable
(arm only)
jammy Not vulnerable
(arm only)
kinetic Not vulnerable
(arm only)
upstream Not vulnerable
(arm only)
xenial Not vulnerable
(arm only)
lunar Does not exist

trusty Does not exist

mantic Does not exist

gcc-msp430
Launchpad, Ubuntu, Debian
bionic Not vulnerable
(arm only)
cosmic Not vulnerable
(arm only)
disco Not vulnerable
(arm only)
eoan Not vulnerable
(arm only)
focal Not vulnerable
(arm only)
groovy Not vulnerable
(arm only)
impish Not vulnerable
(arm only)
jammy Not vulnerable
(arm only)
kinetic Not vulnerable
(arm only)
lunar Not vulnerable
(arm only)
upstream Not vulnerable
(arm only)
xenial Not vulnerable
(arm only)
hirsute Not vulnerable
(arm only)
trusty Does not exist

mantic Not vulnerable
(arm only)
gcc-9
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Not vulnerable
(9.3.0-10ubuntu2)
jammy Not vulnerable
(9.3.0-10ubuntu2)
lunar Not vulnerable
(9.3.0-10ubuntu2)
upstream
Released (9.1.0)
mantic Not vulnerable
(9.3.0-10ubuntu2)
Patches:

upstream: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=89d7557202d25a393666ac4c0f7dbdab31e452a2
gcc-8
Launchpad, Ubuntu, Debian
hirsute Ignored
(end of life)
jammy Does not exist

lunar Does not exist

bionic Needs triage

cosmic Ignored
(end of life)
disco Ignored
(end of life)
eoan Ignored
(end of life)
focal Needs triage

groovy Ignored
(end of life)
impish Ignored
(end of life)
kinetic Does not exist

trusty Does not exist

upstream Needs triage

xenial Does not exist

mantic Does not exist

Patches:
upstream: https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=266379

Severity score breakdown

Parameter Value
Base score 8.1
Attack vector Network
Attack complexity High
Privileges required None
User interaction None
Scope Unchanged
Confidentiality High
Integrity impact High
Availability impact High
Vector CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H