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.
CVSS Details
- CVSS 3.1 Base Score: 7.1
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux-6.1Upgrade linuxUpgrade linux-6.12 | Jul 28, 2026 | Jul 28, 2026 |
| Redhat_linux | — | Upgrade kernelUpgrade kernel-rtNo solution exists | Jul 30, 2026 | Jul 25, 2026 |
| Rocky_linux | — | Upgrade bpftoolUpgrade kernel-rtUpgrade kernel-debug-coreUpgrade kernel-rt-debug-modules-extraUpgrade kernel-toolsUpgrade kernel-rt-modulesUpgrade kernel-rt-develUpgrade python3-perf-debuginfoUpgrade kernel-rt-debuginfoUpgrade perf-debuginfoUpgrade kernel-rt-debugUpgrade kernel-develUpgrade kernel-debugUpgrade perfUpgrade python3-perfUpgrade kernel-rt-kvmUpgrade kernel-rt-coreUpgrade kernel-tools-debuginfoUpgrade kernel-modules-extraUpgrade kernel-modulesUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-coreUpgrade kernel-tools-libsUpgrade kernel-rt-debug-coreUpgrade kernel-tools-libs-develUpgrade kernel-rt-debug-develUpgrade kernel-debug-modulesUpgrade kernel-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-rt-modules-extraUpgrade kernel-rt-debug-debuginfoUpgrade kernel-rt-debug-kvmUpgrade kernel-debug-modules-extraUpgrade kernel-debug-develUpgrade kernel-rt-debug-modulesUpgrade kernelUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-debug-debuginfo | Aug 12, 2026 | Aug 11, 2026 |
| Ubuntu | — | Upgrade linux-image-realtime-64k-7.0Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-7.0.0-31-genericUpgrade linux-image-nvidia-64k-7.0Upgrade linux-image-7.0.0-1006-gke-64kUpgrade linux-image-7.0.0-1013-ibmUpgrade linux-image-ibm-7.0Upgrade linux-image-gcpUpgrade linux-image-7.0.0-1013-oemUpgrade linux-image-7.0.0-31-realtimeUpgrade linux-image-7.0.0-31-realtime-64kUpgrade linux-image-oem-26.04bUpgrade linux-image-aws-64kUpgrade linux-image-virtual-hwe-26.04Upgrade linux-image-7.0.0-2018-nvidia-bos-64kUpgrade linux-image-virtual-7.0Upgrade linux-image-gke-hwe-26.04Upgrade linux-image-7.0.0-31-generic-64kUpgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-nvidiaUpgrade linux-image-raspi-realtimeUpgrade linux-image-gcp-7.0Upgrade linux-image-7.0.0-1006-gkeUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-genericUpgrade linux-image-ibmUpgrade linux-image-virtualUpgrade linux-image-oem-7.0Upgrade linux-image-gke-64kUpgrade linux-image-raspi-realtime-7.0Upgrade linux-image-realtime-7.0Upgrade linux-image-7.0.0-1012-aws-64kUpgrade linux-image-oem-26.04Upgrade linux-image-aws-64k-7.0Upgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-nvidia-bos-64kUpgrade linux-image-raspiUpgrade linux-image-realtimeUpgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-gcp-64k-7.0Upgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-generic-64kUpgrade linux-image-7.0.0-2018-nvidia-bosUpgrade linux-image-raspi-7.0Upgrade linux-image-gke-64k-7.0Upgrade linux-image-gke-64k-hwe-26.04Upgrade linux-image-gcp-64kUpgrade linux-image-realtime-64kUpgrade linux-image-oem-26.04aUpgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-nvidia-bos-7.0Upgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-7.0.0-1012-awsUpgrade linux-image-awsUpgrade linux-image-7.0.0-1018-nvidia-64kUpgrade linux-image-nvidia-bosUpgrade linux-image-nvidia-64kUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-generic-hwe-26.04Upgrade linux-image-7.0.0-1018-nvidiaUpgrade linux-image-realtime-hwe-26.04Upgrade linux-image-gkeUpgrade linux-image-generic-7.0Upgrade linux-image-nvidia-7.0Upgrade linux-image-gke-7.0Upgrade linux-image-generic-64k-7.0Upgrade linux-image-aws-7.0Upgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-7.0.0-1019-raspi-realtimeUpgrade linux-image-7.0.0-1019-raspi | Sep 14, 2026 | Sep 7, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 31, 2026 | Jul 25, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub