Bug 189344 - CVE-2006-1056 FPU Information leak on i386/x86-64 on AMD CPUs
CVE-2006-1056 FPU Information leak on i386/x86-64 on AMD CPUs
Product: Red Hat Enterprise Linux 2.1
Classification: Red Hat
Component: kernel (Show other bugs)
i386 Linux
medium Severity high
: ---
: ---
Assigned To: Don Howard
Brian Brock
: Security
Depends On:
Blocks: 143573
  Show dependency treegraph
Reported: 2006-04-19 08:05 EDT by Marcel Holtmann
Modified: 2007-11-30 17:06 EST (History)
1 user (show)

See Also:
Fixed In Version: RHSA-2006-0579
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-07-13 07:46:21 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Marcel Holtmann 2006-04-19 08:05:38 EDT
An information leak has been reported that affects the Linux kernel running on
certain AMD processors (CVE-2006-1056). This issue is due to the behavior of
FXSAVE and FXRSTOR instructions on AMD processors is different from the behavior
on Intel processors. The difference is documented in "AMD64 Architecture
Programmer's Manual Volume 5: 64-Bit Media and x87 Floating-Point Instructions
Rev 3.06". This difference was not widely known and therefore Linux kernels
assumed these instructions would have same behavior as on Intel processors.

Under specific conditions this may allow a local user to observe the x87
exception pointers of another process. Although this is a minor information
leak, if the floating point unit is being used for a cryptographic algorithm
this could potentially leak some or all of key data.

According to AMD, this will affect processors with "AuthenticAMD" in the CPUID
vendor string. This includes the 7th generation (Family=06h) and 8th generation
(Family=0Fh) of AMD processors.

This issue has been rated as having important security severity and it affects
all Red Hat Enterprise Linux 2.1, 3, and 4 versions running on AMD processors of
the 7th and 8th generation.
Comment 1 Marcel Holtmann 2006-04-19 19:11:22 EDT
Response from AMD:

Comment 2 Marcel Holtmann 2006-04-29 16:42:28 EDT
The patch introduced a bug in FP exception handling:

Comment 3 Don Howard 2006-05-01 14:53:06 EDT
It doesn't look like this applies to pensacola (or rhel3/4) - the exception
status test we adopted internally was done in c, rather than assembly (and is
more readable than the upstream patch, imho):

-		"bt $7,%[fsw] ; jc 1f ; fnclex\n1:",
+		"bt $7,%[fsw] ; jnc 1f ; fnclex\n1:",

               if (tsk->thread.i387.fxsave.swd & (1<<7))
                        asm volatile("fnclex");
Comment 7 Mike Gahagan 2006-07-12 14:21:00 EDT
verifying via code inspection as there doesn't appear to be a reproducer. Change
noted in comment 3 is in arch/i386/kernel/i387.c (line 75)
Comment 9 Red Hat Bugzilla 2006-07-13 07:46:21 EDT
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.


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