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-4.8
Launchpad, Ubuntu, Debian
bionic Needs triage

cosmic Ignored
(end of life)
disco Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

hirsute Does not exist

impish Does not exist

jammy Does not exist

kinetic Does not exist

lunar Does not exist

mantic Does not exist

noble Does not exist

trusty Ignored
(ESM criteria, 32-bit ARM not supported)
upstream Needs triage

xenial Ignored
(ESM criteria, 32-bit ARM not supported)
gcc-4.9
Launchpad, Ubuntu, Debian
bionic Does not exist

cosmic Does not exist

disco Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

hirsute Does not exist

impish Does not exist

jammy Does not exist

kinetic Does not exist

lunar Does not exist

mantic Does not exist

noble Does not exist

trusty Does not exist

upstream Needs triage

xenial Ignored
(ESM criteria, 32-bit ARM not supported)
gcc-6
Launchpad, Ubuntu, Debian
bionic Needed

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

focal Does not exist

groovy Does not exist

hirsute Does not exist

impish Does not exist

jammy Does not exist

kinetic Does not exist

lunar Does not exist

mantic Does not exist

noble Does not exist

trusty Does not exist

upstream Needs triage

xenial Does not exist

gcc-7
Launchpad, Ubuntu, Debian
bionic Needed

cosmic Ignored
(end of life)
disco Ignored
(end of life)
eoan Ignored
(end of life)
focal Needed

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

jammy Does not exist

kinetic Does not exist

lunar Does not exist

mantic Does not exist

noble Does not exist

trusty Does not exist

upstream Needs triage

xenial Does not exist

gcc-8
Launchpad, Ubuntu, Debian
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)
hirsute Ignored
(end of life)
impish Ignored
(end of life)
jammy Does not exist

kinetic Does not exist

lunar Does not exist

mantic Does not exist

noble Does not exist

trusty Does not exist

upstream Needs triage

xenial Does not exist

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

gcc-9
Launchpad, Ubuntu, Debian
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)
mantic Not vulnerable
(9.3.0-10ubuntu2)
noble Not vulnerable
(9.3.0-10ubuntu2)
trusty Does not exist

upstream
Released (9.1.0)
xenial Does not exist

Patches:

upstream: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=89d7557202d25a393666ac4c0f7dbdab31e452a2
gcc-arm-none-eabi
Launchpad, Ubuntu, Debian
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)
hirsute Ignored
(end of life)
impish Ignored
(end of life)
jammy Needs triage

kinetic Ignored
(end of life, was needs-triage)
lunar Ignored
(end of life, was needs-triage)
mantic Needs triage

noble Needs triage

trusty Does not exist

upstream Needs triage

xenial Needs triage

gcc-avr
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)
mantic Not vulnerable
(arm only)
noble Not vulnerable
(arm only)
trusty Does not exist

upstream Not vulnerable
(arm only)
xenial 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)
mantic Not vulnerable
(arm only)
noble Not vulnerable
(arm only)
trusty Does not exist

upstream Not vulnerable
(arm only)
xenial 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)
lunar Does not exist

mantic Does not exist

noble Does not exist

trusty Does not exist

upstream Not vulnerable
(arm only)
xenial Not vulnerable
(arm only)
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)
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)
mantic Not vulnerable
(arm only)
noble Does not exist

trusty Does not exist

upstream Not vulnerable
(arm only)
xenial Not vulnerable
(arm only)
gcc-snapshot
Launchpad, Ubuntu, Debian
bionic Needed

cosmic Ignored
(end of life)
disco Ignored
(end of life)
eoan Ignored
(end of life)
focal Not vulnerable
(1:20200418-1ubuntu1)
groovy Ignored
(end of life)
hirsute Ignored
(end of life)
impish Ignored
(end of life)
jammy Needs triage

kinetic Ignored
(end of life, was needs-triage)
lunar Ignored
(end of life, was needs-triage)
mantic Needs triage

noble Needs triage

trusty Does not exist

upstream Needs triage

xenial Needs triage

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