CVE-2025-40220
BaseFortify
Publication date: 2025-12-04
Last updated on: 2025-12-04
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | kernel | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is a livelock issue in the Linux kernel's FUSE (Filesystem in Userspace) implementation, specifically affecting fuseblk workers. When a client program performs many asynchronous I/O (AIO) writes to a file and closes the file descriptor before the writes complete, the fuseblk server threads can end up waiting on themselves due to synchronous file put operations. This happens because the fuse server sends FUSE_RELEASE commands synchronously from its threads, causing all server threads to become stuck in delayed file put operations, leading to a hang or livelock situation.
How can this vulnerability impact me? :
This vulnerability can cause the system to hang or become unresponsive when using FUSE with fuseblk servers under heavy asynchronous I/O workloads. Specifically, if many simultaneous AIO writes are initiated and the file descriptor is closed prematurely, the fuse server threads can all become stuck waiting on each other, resulting in a livelock that prevents further processing of file operations. This can degrade system performance and availability.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by observing hangs or livelocks in fuseblk server threads, especially when running tests that perform asynchronous I/O (AIO) writes and close file descriptors before writes complete. You can check the stack traces of affected tasks to identify if they are stuck waiting for responses from the fuseblk server or itself. For example, use commands like: cat /proc/<pid>/task/<tid>/stack where <pid> and <tid> are process and thread IDs of fuseblk server tasks. Look for stack traces showing functions such as request_wait_answer, __fuse_simple_request, fuse_file_put, and fuse_release indicating the livelock condition.
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability, ensure that the fuse server uses asynchronous file put (fput) operations when closing files instead of synchronous ones. This prevents fuse server threads from getting stuck in delayed_fput and avoids livelock. Applying the patch or update that fixes the fuse livelock by changing synchronous fputs to asynchronous fputs is the recommended immediate step.