In the Linux kernel, the following vulnerability has been resolved: iio: event: Fix event FIFO reset race iio_event_getfd() creates the event file… (CVE-2026-64496)
In the Linux kernel, the following vulnerability has been resolved: iio: event: Fix event FIFO reset race `iio_event_getfd()` creates the event file descriptor with `anon_inode_getfd()`, which allocates a new fd, creates the anonymous file and installs it in the process fd table before returning to the caller. The IIO code resets the event FIFO after `anon_inode_getfd()` has returned, but before `IIO_GET_EVENT_FD_IOCTL` has copied the fd number to userspace. But since fd tables are shared between threads, another thread can guess the newly allocated fd number and issue a `read()` on it as soon as the fd has been installed. This means the `kfifo_to_user()` in `iio_event_chrdev_read()` can run in parallel with the `kfifo_reset_out()` in `iio_event_getfd()`. The kfifo documentation says that `kfifo_reset_out()` is only safe when it is called from the reader thread and there is only one concurrent reader. Otherwise it is dangerous and must be handled in the same way as `kfifo_reset()`. If that happens, `kfifo_to_user()` can advance the FIFO `out` index based on state from before the reset, after the reset has already moved the `out` index to the current `in` index. That can leave the FIFO with an `out` index past the `in` index. A later `read()` can then see an underflowed FIFO length and copy more data than the event FIFO buffer contains. This can result in an out-of-bounds read and leak adjacent kernel memory to userspace. Move the FIFO reset before `anon_inode_getfd()`. At that point the event fd is marked busy, but the new fd has not been installed yet, so userspace cannot access it while the FIFO is reset.
AI Analysis
Technical Summary
The vulnerability in the Linux kernel's IIO event subsystem involves a race condition between resetting the event FIFO and the installation of the event file descriptor in the process file descriptor table. The function iio_event_getfd() creates the event file descriptor with anon_inode_getfd(), which installs the fd before returning. The FIFO reset was previously done after this, allowing another thread to guess and read from the new fd concurrently. This leads to unsafe concurrent access to the FIFO, violating kfifo's concurrency requirements and potentially causing the FIFO 'out' index to advance incorrectly. This results in an out-of-bounds read that can leak kernel memory to userspace. The patch moves the FIFO reset before anon_inode_getfd(), ensuring the fd is not accessible during reset and eliminating the race.
Potential Impact
An attacker with the ability to access the IIO event file descriptor concurrently from multiple threads could exploit this race condition to cause an out-of-bounds read from kernel memory. This could lead to leakage of sensitive kernel memory contents to userspace, potentially exposing sensitive information. There is no indication of known exploits in the wild. The vulnerability affects kernel memory confidentiality but does not describe privilege escalation or denial of service.
Mitigation Recommendations
A fix has been implemented that moves the FIFO reset to occur before the event file descriptor is created and installed, preventing concurrent unsafe access. Since the vulnerability has been resolved in the Linux kernel source, users should update to a kernel version that includes this fix. Patch status is not explicitly stated in the input data; therefore, check the official Linux kernel advisories or distribution security updates for the fixed version and apply the update accordingly.
In the Linux kernel, the following vulnerability has been resolved: iio: event: Fix event FIFO reset race iio_event_getfd() creates the event file… (CVE-2026-64496)
Description
In the Linux kernel, the following vulnerability has been resolved: iio: event: Fix event FIFO reset race `iio_event_getfd()` creates the event file descriptor with `anon_inode_getfd()`, which allocates a new fd, creates the anonymous file and installs it in the process fd table before returning to the caller. The IIO code resets the event FIFO after `anon_inode_getfd()` has returned, but before `IIO_GET_EVENT_FD_IOCTL` has copied the fd number to userspace. But since fd tables are shared between threads, another thread can guess the newly allocated fd number and issue a `read()` on it as soon as the fd has been installed. This means the `kfifo_to_user()` in `iio_event_chrdev_read()` can run in parallel with the `kfifo_reset_out()` in `iio_event_getfd()`. The kfifo documentation says that `kfifo_reset_out()` is only safe when it is called from the reader thread and there is only one concurrent reader. Otherwise it is dangerous and must be handled in the same way as `kfifo_reset()`. If that happens, `kfifo_to_user()` can advance the FIFO `out` index based on state from before the reset, after the reset has already moved the `out` index to the current `in` index. That can leave the FIFO with an `out` index past the `in` index. A later `read()` can then see an underflowed FIFO length and copy more data than the event FIFO buffer contains. This can result in an out-of-bounds read and leak adjacent kernel memory to userspace. Move the FIFO reset before `anon_inode_getfd()`. At that point the event fd is marked busy, but the new fd has not been installed yet, so userspace cannot access it while the FIFO is reset.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in the Linux kernel's IIO event subsystem involves a race condition between resetting the event FIFO and the installation of the event file descriptor in the process file descriptor table. The function iio_event_getfd() creates the event file descriptor with anon_inode_getfd(), which installs the fd before returning. The FIFO reset was previously done after this, allowing another thread to guess and read from the new fd concurrently. This leads to unsafe concurrent access to the FIFO, violating kfifo's concurrency requirements and potentially causing the FIFO 'out' index to advance incorrectly. This results in an out-of-bounds read that can leak kernel memory to userspace. The patch moves the FIFO reset before anon_inode_getfd(), ensuring the fd is not accessible during reset and eliminating the race.
Potential Impact
An attacker with the ability to access the IIO event file descriptor concurrently from multiple threads could exploit this race condition to cause an out-of-bounds read from kernel memory. This could lead to leakage of sensitive kernel memory contents to userspace, potentially exposing sensitive information. There is no indication of known exploits in the wild. The vulnerability affects kernel memory confidentiality but does not describe privilege escalation or denial of service.
Mitigation Recommendations
A fix has been implemented that moves the FIFO reset to occur before the event file descriptor is created and installed, preventing concurrent unsafe access. Since the vulnerability has been resolved in the Linux kernel source, users should update to a kernel version that includes this fix. Patch status is not explicitly stated in the input data; therefore, check the official Linux kernel advisories or distribution security updates for the fixed version and apply the update accordingly.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-hh3r-jgc6-qr6q
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-64496"]
- Ecosystems
- []
- Database Specific Severity
- null
- Cvss Version
- null
Threat ID: 6a6542069c2644c7f8081dbe
Added to database: 07/25/2026, 23:08:54 UTC
Last enriched: 07/25/2026, 23:13:35 UTC
Last updated: 09/08/2026, 10:52:11 UTC
Views: 58
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.