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_g
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.
Details
Original advisory: https://nvd.nist.gov/vuln/detail/CVE-2026-64496
Exploitation outlook
EPSS (FIRST.org) estimates each CVE’s probability of exploitation in the next 30 days — here is the CSIRTS.com read on those numbers.
- Low exploitation riskCVE-2026-644960.13% 30-day exploitation probability — currently an unlikely target, but scores change as exploit code circulates. Riskier than 3% of all scored CVEs.
Referenced CVEs
| CVE | CSIRTS overview | External |
|---|---|---|
| CVE-2026-64496 | coverage & exploitation status | NVD · CVE.org |
Same CVEs, other sources
How other CERTs, PSIRTs and databases cover the vulnerabilities in this advisory.
Recent advisories for In the Linux
A cluster of recent advisories against the same product widens the attack surface — attackers routinely chain freshly published CVEs on one product, so review these together.
- unknownUbuntu Linux Kernel Multiple Vulnerabilitieshkcert · 2026-08-03
- unknownRedHat Linux Kernel Multiple Vulnerabilitieshkcert · 2026-08-03
- highUSN-8620-4: Linux kernel (Intel IoTG) vulnerabilitiesubuntu · 2026-07-31
- highCVE-2026-18358: A flaw was found in gnome-remote-desktop as shipped in Red Hat Enterprise Linux. When the daem…nvd · 2026-07-31
- medium[UPDATE] [medium] Linux Kernel: Multiple vulnerabilities allow denial of servicecert-bund · 2026-07-31
- medium[UPDATE] [medium] Linux Kernel: Multiple vulnerabilities allow Denial of Servicecert-bund · 2026-07-31
More from NVD Recent CVEs
- unknownCVE-2026-58063: In Bouncy Castle for Java before 1.85, BCFKS keystore load honours unbounded KDF cost from unt…2026-08-03
- unknownCVE-2026-58062: In Bouncy Castle for Java before 1.85, Stapled OCSP response accepted without binding to the c…2026-08-03
- unknownCVE-2026-58061: In Bouncy Castle for Java before 1.85, CCM-family modes write plaintext to caller buffer befor…2026-08-03
- unknownCVE-2026-58060: In Bouncy Castle for Java before 1.85, HSS public-key level count unbounded, enabling huge all…2026-08-03
- unknownCVE-2026-58059: In Bouncy Castle for Java before 1.85, Quadratic-time escaping when stringifying X.500 disting…2026-08-03