Bug 1585011 (CVE-2018-3665)

Summary: CVE-2018-3665 Kernel: FPU state information leakage via lazy FPU restore
Product: [Other] Security Response Reporter: Prasad Pandit <ppandit>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: aarcange, airlied, andrew.schofield, aquini, bhu, blc, bskeggs, carnil, cperry, crrobins, cvsbot-xmlrpc, dhoward, dvlasenk, ewk, fhrbata, hdegoede, hkrzesin, hwkernel-mgr, iboverma, ichavero, itamar, jarodwilson, jbastian, jburrell, jcm, jforbes, jglisse, jkacur, john.j5live, jonathan, josef, jross, jstancek, jwboyer, kernel-maint, kernel-mgr, klaas, labbott, lgoncalv, linville, lwilliam, matt, mchehab, mcressma, mjg59, mlangsdo, mmilgram, mvanderw, nmurray, pbonzini, plougher, pmatouse, rcain, riehecky, rik.theys, rt-maint, rvrbovsk, security-response-team, skozina, steved, williams, yjog, ykopkova, yozone, zhijwang
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
A Floating Point Unit (FPU) state information leakage flaw was found in the way the Linux kernel saved and restored the FPU state during task switch. Linux kernels that follow the "Lazy FPU Restore" scheme are vulnerable to the FPU state information leakage issue. An unprivileged local attacker could use this flaw to read FPU state bits by conducting targeted cache side-channel attacks, similar to the Meltdown vulnerability disclosed earlier this year.
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-06-10 10:27:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1589047, 1589048, 1589049, 1589050, 1589051, 1589052, 1589053, 1590990, 1695833, 1695834    
Bug Blocks: 1581207, 1589899, 1589900, 1589902, 1589903    

Description Prasad Pandit 2018-06-01 06:52:38 UTC
An information leakage flaw is found in the way Linux kernel saves and restores Floating Point Unit(FPU) state during task switch. There are two ways, one is to save & restore FPU state during task context switch. And second is to defer FPU state save & restore until an FP instruction is invoked by the current task. First is called as "Eager FPU Restore" and second is known as "Lazy FPU Restore" scheme.

Linux kernel which follows the "Lazy FPU Restore" scheme is vulnerable to the FPU state information leakage issue. An unprivileged local attacker could use this flaw to read FPU state bits by conducting targeted cache side-channel attacks, similar to Meltdown attack disclosed earlier this year.

Upstream fix:
-------------
  -> https://git.kernel.org/linus//58122bf1d856a4ea9581d62a07c557d997d46a19

References:
-----------
  -> http://www.openwall.com/lists/oss-security/2018/06/13/7

Comment 4 Prasad Pandit 2018-06-13 20:39:01 UTC
Mitigation:

RHEL-7 will automatically default to (safe) “eager” floating point register restore on Sandy Bridge and newer Intel processors. AMD processors are not affected. You can mitigate this issue on older processors by booting the kernel with the 'eagerfpu=on' parameter to enable eager FPU restore mode.  In this mode FPU state is saved and restored for every task/context switch regardless of whether the current process invokes FPU instructions or not. The parameter does not affect performance negatively, and can be applied with no adverse effects to processors that are not affected.

Comment 7 Eric Christensen 2018-06-13 23:26:37 UTC
Statement:

This issue affects the versions of the Linux kernel as shipped with Red Hat Enterprise Linux 5, 6, 7, and Red Hat Enterprise MRG 2. Future kernel updates for Red Hat Enterprise Linux 6, 7, and Red Hat Enterprise MRG 2 may address this issue.

Red Hat Enterprise Linux 5 is now in Production 3 Phase of the support and
maintenance life cycle. This has been rated as having Moderate security
impact and is not currently planned to be addressed in future updates. For
additional information, refer to the Red Hat Enterprise Linux Life
Cycle: https://access.redhat.com/support/policy/updates/errata/.

Comment 9 Petr Matousek 2018-06-14 09:09:06 UTC
Acknowledgments:

Name: Julian Stecklina (Amazon.de), Thomas Prescher (cyberus-technology.de), Zdenek Sojka (sysgo.com)

Comment 10 errata-xmlrpc 2018-06-14 20:11:53 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

Via RHSA-2018:1852 https://access.redhat.com/errata/RHSA-2018:1852

Comment 11 Klaas Demter 2018-06-18 07:32:07 UTC
Is there a reason for eager only being default on Sandy Bridge and newer?

Comment 12 Prasad Pandit 2018-06-18 20:07:50 UTC
(In reply to Klaas Demter from comment #11)
> Is there a reason for eager only being default on Sandy Bridge and newer?

On Sandy Bridge and newer CPUs RHEL-7 already defaults to 'eagerfpu' mode. Latest kernel update makes 'eagerfpu' as default on earlier Intel CPUs. Please use appropriate support channel for future questions:

  -> https://access.redhat.com/ 

Thank you.

Comment 13 errata-xmlrpc 2018-06-19 13:18:23 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

Via RHSA-2018:1944 https://access.redhat.com/errata/RHSA-2018:1944

Comment 16 errata-xmlrpc 2018-07-10 17:16:52 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise MRG 2

Via RHSA-2018:2165 https://access.redhat.com/errata/RHSA-2018:2165

Comment 17 errata-xmlrpc 2018-07-10 17:53:22 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6

Via RHSA-2018:2164 https://access.redhat.com/errata/RHSA-2018:2164

Comment 19 errata-xmlrpc 2019-05-14 19:08:30 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7.4 Extended Update Support

Via RHSA-2019:1170 https://access.redhat.com/errata/RHSA-2019:1170

Comment 20 errata-xmlrpc 2019-05-14 20:26:50 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise MRG 2

Via RHSA-2019:1190 https://access.redhat.com/errata/RHSA-2019:1190