# CVE-2025-68171: x86/fpu: Ensure XFD state on signal delivery

> A kernel bug causes a warning and potential instability during signal delivery when AMX tasks preempt non-AMX tasks, requiring a patch to synchronize XFD state.

- **Severity:** High 7.8 (`CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Local or same network only
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 16 Dec 2025
- **Updated:** 15 Oct 2026
- **Also known as:** BELL-CVE-2025-68171, DEBIAN-CVE-2025-68171, GHSA-4ggp-pgr3-73m2, ROOT-OS-DEBIAN-12-CVE-2025-68171, ROOT-OS-DEBIAN-13-CVE-2025-68171, ROOT-OS-UBUNTU-2204-CVE-2025-68171, ROOT-OS-UBUNTU-2404-CVE-2025-68171, UBUNTU-CVE-2025-68171

## What is CVE-2025-68171?

CVE-2025-68171 is a high-severity denial of service vulnerability in Linux, published on 16 Dec 2025. It can only be exploited from the same machine or local network, with no action from the victim.

### Official description

In the Linux kernel, the following vulnerability has been resolved:

x86/fpu: Ensure XFD state on signal delivery

Sean reported [1] the following splat when running KVM tests:

   WARNING: CPU: 232 PID: 15391 at xfd_validate_state+0x65/0x70
   Call Trace:
    <TASK>
    fpu__clear_user_states+0x9c/0x100
    arch_do_signal_or_restart+0x142/0x210
    exit_to_user_mode_loop+0x55/0x100
    do_syscall_64+0x205/0x2c0
    entry_SYSCALL_64_after_hwframe+0x4b/0x53

Chao further identified [2] a reproducible scenario involving signal
delivery: a non-AMX task is preempted by an AMX-enabled task which
modifies the XFD MSR.

When the non-AMX task resumes and reloads XSTATE with init values,
a warning is triggered due to a mismatch between fpstate::xfd and the
CPU's current XFD state. fpu__clear_user_states() does not currently
re-synchronize the XFD state after such preemption.

Invoke xfd_update_state() which detects and corrects the mismatch if
there is a dynamic feature.

This also benefits the sigreturn path, as fpu__restore_sig() may call
fpu__clear_user_states() when the sigframe is inaccessible.

[ dhansen: minor changelog munging ]

## Which versions are affected by CVE-2025-68171?


## How do I fix CVE-2025-68171?

Apply the vendor's patch.

## Is CVE-2025-68171 being exploited?

There is no known exploitation of CVE-2025-68171 in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2025-68171 and fix it if it is affected.

What it is: CVE-2025-68171 is a high-severity denial of service vulnerability in Linux, published on 16 Dec 2025. It can only be exploited from the same machine or local network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2025-68171 in the wild and no public exploit code.

Affected product: Linux. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2025-68171/ (Markdown: https://insights.sbomify.com/CVE-2025-68171/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2025-68171
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2025-68171
- OSV: https://osv.dev/vulnerability/CVE-2025-68171

---
From sbomify Insights: https://insights.sbomify.com/CVE-2025-68171/
Summaries are generated and may contain mistakes; the official description above is the record.
