CVE-2020-8834: Linux kernel KVM Power8 conflicting use of HSTATE_HOST_R1

Published Apr 1, 2020
·
Updated

A flaw was found in the way the KVM hypervisor on the Power8 processor stores the r1 register state in the 'HSTATEHOSTR1' field on the Linux kernel stack. This flaw occurs while handling hypercalls in Transactional Memory (TM) suspend mode in the kvmppcsavetm and kvmppcrestoretm routines, leading to host stack corruption. R1 register holds a stack frame address and its corruption leads the kernel into panic state. A guest user can use this flaw to crash the host kernel, resulting in a denial of service.

Other sources

KVM in the Linux kernel on Power8 processors has a conflicting use of HSTATEHOSTR1 to store r1 state in kvmppchventry 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 kvmppcsavetm()/kvmppcrestoretm()") 7b0e827c6970 ("KVM: PPC: Book3S HV: Factor fake-suspend handling out of kvmppcsave/restoretm") 009c872a8bc4 ("KVM: PPC: Book3S PR: Move kvmppcsavetm/kvmppcrestoretm to separate file")

Affected Software

10 affected componentsFixes available
redhat/kernel-alt<0:4.14.0-115.26.1.el7a
0:4.14.0-115.26.1.el7a
redhat/Linux<4.18
4.18
Linux Linux kernel
IBM Power8
Canonical Ubuntu Linux=16.04
Canonical Ubuntu Linux=18.04
openSUSE Leap=15.1
All of the following
Linux Linux kernel
IBM Power8
debian/linux
5.10.223-15.10.262-16.1.176-16.1.180-16.12.94-16.12.101-17.1.8-17.1.8-2

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade redhat/kernel-alt to a version that resolves this vulnerability.

    Fixed in 0:4.14.0-115.26.1.el7a
  2. Upgrade

    Upgrade redhat/Linux to a version that resolves this vulnerability.

    Fixed in 4.18
  3. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 5.10.223-1Fixed in 5.10.262-1Fixed in 6.1.176-1Fixed in 6.1.180-1Fixed in 6.12.94-1Fixed in 6.12.101-1Fixed in 7.1.8-1Fixed in 7.1.8-2
  4. Upgrade

    Upgrade Linux kernel KVM on Power8 (KVM: PPC Book3S HV/PR TM suspend handling with HSTATE_HOST_R1) to a version that resolves this vulnerability.

    Patch 6f597c6b63b6f3675914b5ec8fcd008a58678650
  5. Upgrade

    Upgrade Linux kernel KVM on Power8 (KVM: PPC Book3S HV/PR TM suspend handling with HSTATE_HOST_R1) to a version that resolves this vulnerability.

    Patch 7b0e827c6970e8ca77c60ae87592204c39e41245
  6. Upgrade

    Upgrade Linux kernel KVM on Power8 (KVM: PPC Book3S HV/PR TM suspend handling with HSTATE_HOST_R1) to a version that resolves this vulnerability.

    Patch 009c872a8bc4d38f487a9bd62423d019e4322517

Event History

Apr 6, 2020
CVE Published
04:00 PM
Apr 9, 2020
CVE Published
via MITRE·10:10 PM
Data Sourced
via MITRE·10:10 PM
RemedyDescriptionSeverityWeakness
Data Sourced
via NVD·10:15 PM
DescriptionSeverityWeaknessAffected Software
Jan 11, 2024
Data Sourced
via Launchpad·11:53 PM
Description
Aug 14, 2026
Data Sourced
via Ubuntu·04:30 PM
RemedyDescriptionSeverityAffected Software
Aug 16, 2026
Data Sourced
via Debian·04:33 PM
DescriptionAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

What is CVE-2020-8834?

CVE-2020-8834 is a vulnerability in the Linux kernel on Power8 processors that allows an attacker with code execution in a guest VM to cause stack corruption in the host kernel.

2

What is the severity of CVE-2020-8834?

CVE-2020-8834 has a severity rating of high.

3

Which software is affected by CVE-2020-8834?

CVE-2020-8834 affects Linux kernel versions 4.15.0-96.97 and 4.18~.

4

How can I fix CVE-2020-8834?

To fix CVE-2020-8834, update your Linux kernel to version 4.15.0-96.97 or 4.18~.

5

Where can I find more information about CVE-2020-8834?

You can find more information about CVE-2020-8834 on the Ubuntu Security Notice (USN) page and the Openwall mailing list.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203