Bug 1760063 (CVE-2019-15031) - CVE-2019-15031 kernel: powerpc: local user can read vector registers of other users' processes via an interrupt
Summary: CVE-2019-15031 kernel: powerpc: local user can read vector registers of other...
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2019-15031
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1750653 1760064 1791629 1791630 1791631 1791633
Blocks: 1760065
TreeView+ depends on / blocked
 
Reported: 2019-10-09 18:12 UTC by Guilherme de Almeida Suckevicz
Modified: 2023-05-12 21:16 UTC (History)
48 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
A flaw in the Linux kernel on the PowerPC platform, was found where a local user can read vector registers of other user processes (during a hardware interrupt). An attacker must start a transaction when the FPU operation begins or there is no leakage. Vector registers will become corrupted with values from the different local Linux processes, because of the missing check inside arch/powerpc/kernel/process.c. The highest threat from this vulnerability is confidentiality of data and availability of the system.
Clone Of:
Environment:
Last Closed: 2020-04-07 16:31:48 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2020:1372 0 None None None 2020-04-07 12:24:00 UTC
Red Hat Product Errata RHSA-2020:1493 0 None None None 2020-04-16 14:38:41 UTC

Description Guilherme de Almeida Suckevicz 2019-10-09 18:12:30 UTC
In the Linux kernels through 5.2.14 on the powerpc platform, a local user can read vector registers of other users processes via an interrupt.
To exploit the vulnerability, a local user starts a transaction (via the hardware transactional memory instruction tbegin) and then accesses vector registers.
At some point, the vector registers will be corrupted with the values from a different local Linux process because of a misused check in arch/powerpc/kernel/process.c.
However, the attacker cannot predict when it happens.
The only mitigation for this issue: not using FPU completely (then can use emulation instead). 

References:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a8318c13e79badb92bc6640704a64cc022a6eb97

Comment 1 Guilherme de Almeida Suckevicz 2019-10-09 18:12:48 UTC
Created kernel tracking bugs for this issue:

Affects: fedora-all [bug 1760064]

Comment 2 Justin M. Forbes 2019-10-10 16:10:14 UTC
This was fixed for Fedora with the 5.2.15 stable kernel updates.

Comment 7 Petr Matousek 2020-02-04 10:37:15 UTC
Mitigation:

When applicable rely on FPU emulation (for example by rebuilding the critical services code) instead of the hardware FPU.

Comment 8 errata-xmlrpc 2020-04-07 12:23:56 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2020:1372 https://access.redhat.com/errata/RHSA-2020:1372

Comment 9 Product Security DevOps Team 2020-04-07 16:31:48 UTC
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):

https://access.redhat.com/security/cve/cve-2019-15031

Comment 10 errata-xmlrpc 2020-04-16 14:38:38 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

Via RHSA-2020:1493 https://access.redhat.com/errata/RHSA-2020:1493


Note You need to log in before you can comment on or make changes to this bug.