CVE-2020-8834
Published: 06 April 2020
KVM in the Linux kernel on Power8 processors has a conflicting use of HSTATE_HOST_R1 to store r1 state in kvmppc_hv_entry plus in kvmppc_{save,restore}_tm, leading to a stack corruption. Because of this, an attacker with the ability run code in kernel space of a guest VM can cause the host kernel to panic. There were two commits that, according to the reporter, introduced the vulnerability: f024ee098476 ("KVM: PPC: Book3S HV: Pull out TM state save/restore into separate procedures") 87a11bb6a7f7 ("KVM: PPC: Book3S HV: Work around XER[SO] bug in fake suspend mode") The former landed in 4.8, the latter in 4.17. This was fixed without realizing the impact in 4.18 with the following three commits, though it's believed the first is the only strictly necessary commit: 6f597c6b63b6 ("KVM: PPC: Book3S PR: Add guest MSR parameter for kvmppc_save_tm()/kvmppc_restore_tm()") 7b0e827c6970 ("KVM: PPC: Book3S HV: Factor fake-suspend handling out of kvmppc_save/restore_tm") 009c872a8bc4 ("KVM: PPC: Book3S PR: Move kvmppc_save_tm/kvmppc_restore_tm to separate file")
From the Ubuntu security team
Gustavo Romero and Paul Mackerras discovered that the KVM implementation in the Linux kernel for PowerPC processors did not properly keep guest state separate from host state. A local attacker in a KVM guest could use this to cause a denial of service (host system crash).
CVSS 3 base score: 6.5
Status
Package | Release | Status |
---|---|---|
linux Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Released
(4.15.0-96.97)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Not vulnerable
(v4.15 kernels only)
|
|
Patches: Introduced by f024ee098476a3e620232e4a78cfac505f121245 Fixed by 7b0e827c6970e8ca77c60ae87592204c39e41245 Introduced by f024ee098476a3e620232e4a78cfac505f121245 Fixed by 009c872a8bc4d38f487a9bd62423d019e4322517 Introduced by f024ee098476a3e620232e4a78cfac505f121245 Fixed by 6f597c6b63b6f3675914b5ec8fcd008a58678650 |
||
linux-aws Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(ppc kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Not vulnerable
(v4.15 kernels only)
|
|
linux-aws-5.0 Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-aws-hwe Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Not vulnerable
(ppc kernels only)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-azure Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Not vulnerable
(ppc kernels only)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Not vulnerable
(ppc kernels only)
|
|
linux-azure-5.3 Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-azure-edge Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Not vulnerable
(ppc kernels only)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-gcp Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Not vulnerable
(ppc kernels only)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-gcp-5.3 Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-gcp-edge Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-gke-4.15 Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(ppc kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-gke-5.0 Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-gke-5.3 Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-hwe Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Released
(4.15.0-96.97~16.04.1)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-hwe-edge Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Ignored
(was needs-triage now end-of-life)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-kvm Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(ppc kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-lts-trusty Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-lts-xenial Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Not vulnerable
(v4.15 kernels only)
|
|
linux-oem Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(ppc kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-oem-5.4 Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-oem-osp1 Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-oracle Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(ppc kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Not vulnerable
(ppc kernels only)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-oracle-5.0 Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-oracle-5.3 Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(v4.15 kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-raspi2 Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Not vulnerable
(ppc kernels only)
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(ppc kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Not vulnerable
(ppc kernels only)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-raspi2-5.3 Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(ppc kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-snapdragon Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.18~rc1)
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(ppc kernels only)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Not vulnerable
(ppc kernels only)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
Notes
Author | Note |
---|---|
sbeattie | appears to only affect Power8 hardware and not Power9, possibly because transaction memory in Power9 needs a software assist to function. from reporter, introduced in f024ee098476 and exacerbated by 87a11bb6a7f7. |
sbeattie | Addressed by: 7b0e827c6970e8ca77c60ae87592204c39e41245 KVM: PPC: Book3S HV: Factor fake-suspend handling out of kvmppc_save/restore_tm 009c872a8bc4d38f487a9bd62423d019e4322517 KVM: PPC: Book3S PR: Move kvmppc_save_tm/kvmppc_restore_tm to separate file 6f597c6b63b6f3675914b5ec8fcd008a58678650 KVM: PPC: Book3S PR: Add guest MSR parameter for kvmppc_save_tm()/kvmppc_restore_tm() |
References
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8834
- https://www.openwall.com/lists/oss-security/2020/04/06/2
- https://usn.ubuntu.com/usn/usn-4318-1
- NVD
- Launchpad
- Debian