VYPR
Unrated severityNVD Advisory· Published Apr 20, 2006· Updated Jun 16, 2026

CVE-2006-1056

CVE-2006-1056

Description

The Linux kernel before 2.6.16.9 and the FreeBSD kernel, when running on AMD64 and other 7th and 8th generation AuthenticAMD processors, only save/restore the FOP, FIP, and FDP x87 registers in FXSAVE/FXRSTOR when an exception is pending, which allows one process to determine portions of the state of floating point instructions of other processes, which can be leveraged to obtain sensitive information such as cryptographic keys. NOTE: this is the documented behavior of AMD64 processors, but it is inconsistent with Intel processors in a security-relevant fashion that was not addressed by the kernels.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Affected products

145
  • cpe:2.3:o:freebsd:freebsd:*:*:*:*:*:*:*:*
  • Linux/Kernel143 versions
    cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*+ 142 more
    • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*range: <=2.6.16.8
    • cpe:2.3:o:linux:linux_kernel:2.6.0:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.0:test1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.0:test10:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.0:test11:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.0:test2:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.0:test3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.0:test4:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.0:test5:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.0:test6:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.0:test7:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.0:test8:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.0:test9:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.1:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.10:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.10:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.10:rc2:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.10:rc3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.11:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.11.1:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.11.10:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.11.11:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.11.12:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.11.2:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.11.3:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.11.4:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.11.5:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.11.6:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.11.7:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.11.8:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.11.9:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.11:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.11:rc2:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.11:rc3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.11:rc4:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.11:rc5:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.12.1:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.12.2:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.12.3:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.12.4:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.12.5:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.12.6:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.12:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.12:rc2:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.12:rc3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.12:rc4:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.12:rc5:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.12:rc6:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.13:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.13.1:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.13.2:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.13.3:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.13.4:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.13:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.13:rc2:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.13:rc3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.13:rc4:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.13:rc5:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.13:rc6:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.13:rc7:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.14:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.14.1:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.14.2:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.14.3:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.14.4:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.14.5:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.14.6:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.14.7:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.14:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.14:rc2:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.14:rc3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.14:rc4:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.14:rc5:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.15:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.15.1:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.15.2:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.15.3:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.15.4:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.15.5:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.15.6:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.15.7:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.15:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.15:rc3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.15:rc4:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.15:rc5:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.15:rc6:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.15:rc7:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.16:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.16.1:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.16.2:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.16.3:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.16.4:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.16.5:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.16.6:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.16.7:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.16:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.16:rc2:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.16:rc3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.16:rc4:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.16:rc5:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.16:rc6:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.16_rc7:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.1:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.1:rc2:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.1:rc3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.2:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.2:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.2:rc2:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.2:rc3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.3:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.3:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.3:rc2:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.3:rc3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.3:rc4:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.4:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.4:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.4:rc2:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.4:rc3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.5:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.5:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.5:rc2:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.5:rc3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.6:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.6:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.6:rc2:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.6:rc3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.7:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.7:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.7:rc2:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.7:rc3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.8:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.8:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.8:rc2:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.8:rc3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.8:rc4:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.9:*:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.9:2.6.20:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.9:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.9:rc2:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.9:rc3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6.9:rc4:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:2.6_test9_cvs:*:*:*:*:*:*:*
    • (no CPE)range: <2.6.16.9
  • FreeBSD/kernelllm-create

Patches

Vulnerability mechanics

Root cause

"The kernel fails to clear the FOP, FIP, and FDP x87 registers on context switch, allowing one process to observe another process's floating-point instruction state on AMD64 processors."

Attack vector

An attacker runs a user-space process on an affected AMD64 system. By executing floating-point instructions and then inspecting the FOP, FIP, and FDP registers (e.g., via signal handlers or ptrace), the attacker can recover fragments of another process's FPU state. Because cryptographic routines often use floating-point or MMX registers, this cross-process information leak can expose secret key material. No special privileges beyond the ability to execute code are required.

Affected code

The vulnerability lies in the x87 FPU state save/restore path on AMD64 processors. The kernel's FXSAVE/FXRSTOR instructions only preserve the FOP, FIP, and FDP registers when a floating-point exception is pending, leaking residual state from other processes. No specific source file is shown in the supplied patch; the patch only bumps the kernel version from 2.6.17-rc6 to 2.6.17.

What the fix does

The supplied patch [patch_id=1679099] is simply the v2.6.17 release commit that increments the kernel version; it does not contain any code changes to the FPU save/restore logic. The advisory states that the Linux kernel before 2.6.16.9 is affected, meaning the actual fix was applied in an earlier commit not shown here. The fix would need to explicitly zero or sanitize the FOP, FIP, and FDP registers on context switch or process creation to prevent cross-process leakage of floating-point instruction pointers.

Preconditions

  • configThe system must run on an AMD64 or other 7th/8th generation AuthenticAMD processor.
  • authThe attacker must be able to execute unprivileged user-space code on the affected system.
  • configThe kernel must be older than 2.6.16.9 (Linux) or an affected FreeBSD version.

Generated on May 23, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

50

News mentions

0

No linked articles in our index yet.