CVE-2026-46242 json
eventpoll: fix ep_remove struct eventpoll / struct file UAF
published 2026-05-30 5 mo ago modified 2026-10-19 20 d ago also EUVD-2026-33459
- cvss
- 7.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 4.6%
- EPSS 4.6% chance of exploitation in 30 days, percentile 91%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
eventpoll: fix ep_remove struct eventpoll / struct file UAF
ep_remove() (via ep_remove_file()) cleared file->f_ep under file->f_lock but then kept using @file inside the critical section (is_file_epoll(), hlist_del_rcu() through the head, spin_unlock). A concurrent __fput() taking the eventpoll_release() fastpath in that window observed the transient NULL, skipped eventpoll_release_file() and ran to f_op->release / file_free().
For the epoll-watches-epoll case, f_op->release is ep_eventpoll_release() -> ep_clear_and_put() -> ep_free(), which kfree()s the watched struct eventpoll. Its embedded ->refs hlist_head is exactly where epi->fllink.pprev points, so the subsequent hlist_del_rcu()'s "*pprev = next" scribbles into freed kmalloc-192 memory.
In addition, struct file is SLAB_TYPESAFE_BY_RCU, so the slot backing @file could be recycled by alloc_empty_file() -- reinitializing f_lock and f_ep -- while ep_remove() is still nominally inside that lock. The upshot is an attacker-controllable kmem_cache_free() against the wrong slab cache.
Pin @file via epi_fget() at the top of ep_remove() and gate the critical section on the pin succeeding. With the pin held @file cannot reach refcount zero, which holds __fput() off and transitively keeps the watched struct eventpoll alive across the hlist_del_rcu() and the f_lock use, closing both UAFs.
If the pin fails @file has already reached refcount zero and its __fput() is in flight. Because we bailed before clearing f_ep, that path takes the eventpoll_release() slow path into eventpoll_release_file() and blocks on ep->mtx until the waiter side's ep_clear_and_put() drops it. The bailed epi's share of ep->refcount stays intact, so the trailing ep_refcount_dec_and_test() in ep_clear_and_put() cannot free the eventpoll out from under eventpoll_release_file(); the orphaned epi is then cleaned up there.
A successful pin also proves we are not racing eventpoll_release_file() on this epi, so drop the now-redundant re-check of epi->dying under f_lock. The cheap lockless READ_ONCE(epi->dying) fast-path bailout stays.
Patch / fix
- Linux Linux 5.15.222, 6.1.178, 6.6.144, 6.12.95, 6.18.33, 7.0.10, 7.1
- linux Debian 13 6.12.95-1
- linux Debian 14 7.0.10-1
debian advisories DEBIAN-CVE-2026-46242
- linux Ubuntu 22.04 LTS 5.15.0-202.212
- linux Ubuntu 24.04 LTS 6.8.0-137.137
- linux Ubuntu 26.04 LTS 7.0.0-28.28
- linux-aws Ubuntu 22.04 LTS 5.15.0-1119.126
- linux-aws Ubuntu 24.04 LTS 6.8.0-1062.65
- linux-aws Ubuntu 26.04 LTS 7.0.0-1009.9
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1120.130
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1065.73
ubuntu advisories UBUNTU-CVE-2026-46242
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel enterprise linux nvidia 10 6.12.0-259.26.el10nv
- rv enterprise linux nvidia 10 6.12.0-259.26.el10nv
- perf enterprise linux nvidia 10 6.12.0-259.26.el10nv
- rtla enterprise linux nvidia 10 6.12.0-259.26.el10nv
- libperf enterprise linux nvidia 10 6.12.0-259.26.el10nv
- kernel-64k enterprise linux nvidia 10 6.12.0-259.26.el10nv
- kernel-core enterprise linux nvidia 10 6.12.0-259.26.el10nv
- kernel-tools enterprise linux nvidia 10 6.12.0-259.26.el10nv
red hat advisories RHSA-2026:73187RHSA-2026:44007RHSA-2026:44006RHSA-2026:43825RHSA-2026:43826RHSA-2026:39371
- kernel-livepatch-MICRO-6-0_Update_21 Linux Micro 6.1, Linux Micro 6.0 5-1.1
- kernel-livepatch-MICRO-6-0_Update_22 Linux Micro 6.1, Linux Micro 6.0 5-1.1
- kernel-livepatch-MICRO-6-0_Update_23 Linux Micro 6.1, Linux Micro 6.0 5-1.1
- kernel-livepatch-MICRO-6-0_Update_24 Linux Micro 6.1, Linux Micro 6.0 4-1.1
- kernel-livepatch-MICRO-6-0_Update_25 Linux Micro 6.1, Linux Micro 6.0 3-1.1
- kernel-livepatch-MICRO-6-0_Update_26 Linux Micro 6.1, Linux Micro 6.0 2-1.1
- kernel-livepatch-MICRO-6-0-RT_Update_14 Linux Micro 6.1, Linux Micro 6.0 11-1.1
- kernel-livepatch-MICRO-6-0-RT_Update_10 Linux Micro 6.1, Linux Micro 6.0 20-1.1
suse advisories SUSE-SU-2026:23483-1SUSE-SU-2026:23484-1SUSE-SU-2026:23485-1SUSE-SU-2026:23486-1SUSE-SU-2026:23487-1SUSE-SU-2026:23488-1
- kernel-rt openSUSE Leap 16.0 6.12.0-160000.36.1
- dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.36.1
- kernel-64kb openSUSE Leap 16.0 6.12.0-160000.36.1
- kernel-syms openSUSE Leap 16.0 6.12.0-160000.36.1
- kernel-azure openSUSE Leap 16.0 6.12.0-160000.36.1
- kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.36.1
- kernel-source openSUSE Leap 16.0 6.12.0-160000.36.1
- kernel-default openSUSE Leap 16.0 6.12.0-160000.36.1
opensuse advisories openSUSE-SU-2026:21388-1openSUSE-SU-2026:10954-1
- kernel AlmaLinux 10 6.12.0-211.31.1.el10_2
- rv AlmaLinux 10 6.12.0-211.31.1.el10_2
- perf AlmaLinux 10 6.12.0-211.31.1.el10_2
- rtla AlmaLinux 10 6.12.0-211.31.1.el10_2
- libperf AlmaLinux 10 6.12.0-211.31.1.el10_2
- kernel-rt AlmaLinux 10 6.12.0-211.31.1.el10_2
- kernel-64k AlmaLinux 10 6.12.0-211.31.1.el10_2
- kernel-core AlmaLinux 10 6.12.0-211.31.1.el10_2
almalinux advisories ALSA-2026:36541ALSA-2026:36645
- git.kernel.org/stable/c/a10fbbe74e1c743beb1bb312109366667461df8a commit
- git.kernel.org/stable/c/3e1144d2515d28e4312e663ea05eac203101491d commit
- git.kernel.org/stable/c/2de4db145b2992da496fea6c51f9839be678ae24 commit
- git.kernel.org/stable/c/9324de74a3a59b9fde9b62ee45ebaa71458ba2e5 commit
- git.kernel.org/stable/c/ef4ca02e95363e78977ca04340d44fe3b4b2b81f commit
- git.kernel.org/stable/c/ced39b6a8062bac5c18a1c3df85634107eb8664a commit
- git.kernel.org/stable/c/a6dc643c69311677c574a0f17a3f4d66a5f3744b commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-46242 updated cvss 7.0
kernel: eventpoll: fix ep_remove struct eventpoll / struct file UAF
-
Red Hat OpenShift Container Platform 5 openshift/ose-rhel-coreos-9affected: workaround, no fix available
-
Red Hat NVIDIA for RHEL 10 rv 6.12.0-231.15.el10nv, rv 6.12.0-259.26.el10nv, perf 6.12.0-231.15.el10nv, perf 6.12.0-259.26.el10nv, rtla 6.12.0-231.15.el10nv, rtla 6.12.0-259.26.el10nv, +59 morefixed: vendor fix RHSA-2026:36186
-
Red Hat CodeReady Linux Builder EUS (v.9.6) libperf 5.14.0-570.127.1.el9_6, kernel-debuginfo-common-s390x 5.14.0-570.127.1.el9_6, kernel-debuginfo-common-x86_64 5.14.0-570.127.1.el9_6, kernel-debuginfo-common-aarch64 5.14.0-570.127.1.el9_6, kernel-debuginfo-common-ppc64le 5.14.0-570.127.1.el9_6fixed: vendor fix RHSA-2026:38902
-
Red Hat Enterprise Linux AppStream (v. 9) rv 5.14.0-687.23.1.el9_8, perf 5.14.0-687.23.1.el9_8, rtla 5.14.0-687.23.1.el9_8, python3-perf 5.14.0-687.23.1.el9_8, kernel-devel-matched 5.14.0-687.23.1.el9_8, kernel-64k-devel-matched 5.14.0-687.23.1.el9_8, +7 morefixed: vendor fix RHSA-2026:36645
-
Red Hat Enterprise Linux AppStream (v. 10) rv 6.12.0-211.31.1.el10_2, perf 6.12.0-211.31.1.el10_2, rtla 6.12.0-211.31.1.el10_2, python3-perf 6.12.0-211.31.1.el10_2, kernel-devel-matched 6.12.0-211.31.1.el10_2, kernel-64k-devel-matched 6.12.0-211.31.1.el10_2, +7 morefixed: vendor fix RHSA-2026:36541
-
Red Hat Enterprise Linux AppStream E4S (v.9.4) rv 5.14.0-427.137.1.el9_4, perf 5.14.0-427.137.1.el9_4, rtla 5.14.0-427.137.1.el9_4, kernel-devel-matched 5.14.0-427.137.1.el9_4, kernel-64k-devel-matched 5.14.0-427.137.1.el9_4, kernel-debug-devel-matched 5.14.0-427.137.1.el9_4, +6 morefixed: vendor fix RHSA-2026:37729
-
Red Hat Enterprise Linux AppStream EUS (v. 10.0) rv 6.12.0-55.88.1.el10_0, perf 6.12.0-55.88.1.el10_0, rtla 6.12.0-55.88.1.el10_0, python3-perf 6.12.0-55.88.1.el10_0, kernel-devel-matched 6.12.0-55.88.1.el10_0, kernel-64k-devel-matched 6.12.0-55.88.1.el10_0, +7 morefixed: vendor fix RHSA-2026:39371
-
Red Hat Enterprise Linux AppStream EUS (v.9.6) rv 5.14.0-570.127.1.el9_6, perf 5.14.0-570.127.1.el9_6, rtla 5.14.0-570.127.1.el9_6, python3-perf 5.14.0-570.127.1.el9_6, kernel-devel-matched 5.14.0-570.127.1.el9_6, kernel-64k-devel-matched 5.14.0-570.127.1.el9_6, +7 morefixed: vendor fix RHSA-2026:38902
show 23 moreshow fewer
-
Red Hat Enterprise Linux BaseOS (v. 9) kernel 5.14.0-687.23.1.el9_8, kernel-64k 5.14.0-687.23.1.el9_8, kernel-core 5.14.0-687.23.1.el9_8, kernel-tools 5.14.0-687.23.1.el9_8, kernel-modules 5.14.0-687.23.1.el9_8, kernel-64k-core 5.14.0-687.23.1.el9_8, +28 morefixed: vendor fix RHSA-2026:36645
-
Red Hat Enterprise Linux BaseOS (v. 10) kernel 6.12.0-211.31.1.el10_2, kernel-64k 6.12.0-211.31.1.el10_2, kernel-core 6.12.0-211.31.1.el10_2, kernel-tools 6.12.0-211.31.1.el10_2, kernel-modules 6.12.0-211.31.1.el10_2, kernel-64k-core 6.12.0-211.31.1.el10_2, +29 morefixed: vendor fix RHSA-2026:36541
-
Red Hat Enterprise Linux BaseOS E4S (v.9.4) bpftool 7.3.0-427.137.1.el9_4, kernel 5.14.0-427.137.1.el9_4, kernel-64k 5.14.0-427.137.1.el9_4, kernel-core 5.14.0-427.137.1.el9_4, kernel-tools 5.14.0-427.137.1.el9_4, python3-perf 5.14.0-427.137.1.el9_4, +33 morefixed: vendor fix RHSA-2026:37729
-
Red Hat Enterprise Linux BaseOS EUS (v. 10.0) kernel 6.12.0-55.88.1.el10_0, kernel-64k 6.12.0-55.88.1.el10_0, kernel-core 6.12.0-55.88.1.el10_0, kernel-tools 6.12.0-55.88.1.el10_0, kernel-modules 6.12.0-55.88.1.el10_0, kernel-64k-core 6.12.0-55.88.1.el10_0, +27 morefixed: vendor fix RHSA-2026:39371
-
Red Hat Enterprise Linux BaseOS EUS (v.9.6) kernel 5.14.0-570.127.1.el9_6, kernel-64k 5.14.0-570.127.1.el9_6, kernel-core 5.14.0-570.127.1.el9_6, kernel-tools 5.14.0-570.127.1.el9_6, kernel-modules 5.14.0-570.127.1.el9_6, kernel-64k-core 5.14.0-570.127.1.el9_6, +32 morefixed: vendor fix RHSA-2026:38902
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) libperf 5.14.0-687.23.1.el9_8, kernel-debuginfo-common-s390x 5.14.0-687.23.1.el9_8, kernel-debuginfo-common-x86_64 5.14.0-687.23.1.el9_8, kernel-debuginfo-common-aarch64 5.14.0-687.23.1.el9_8, kernel-debuginfo-common-ppc64le 5.14.0-687.23.1.el9_8fixed: vendor fix RHSA-2026:36645
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) libperf 6.12.0-211.31.1.el10_2, kernel-debuginfo-common-s390x 6.12.0-211.31.1.el10_2, kernel-debuginfo-common-x86_64 6.12.0-211.31.1.el10_2, kernel-debuginfo-common-aarch64 6.12.0-211.31.1.el10_2, kernel-debuginfo-common-ppc64le 6.12.0-211.31.1.el10_2fixed: vendor fix RHSA-2026:36541
-
Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0) libperf 6.12.0-55.88.1.el10_0, kernel-debuginfo-common-s390x 6.12.0-55.88.1.el10_0, kernel-debuginfo-common-x86_64 6.12.0-55.88.1.el10_0, kernel-debuginfo-common-aarch64 6.12.0-55.88.1.el10_0, kernel-debuginfo-common-ppc64le 6.12.0-55.88.1.el10_0fixed: vendor fix RHSA-2026:39371
-
Red Hat Enterprise Linux Real Time (v. 9) kernel-rt 5.14.0-687.23.1.el9_8, kernel-rt-64k 5.14.0-687.23.1.el9_8, kernel-rt-core 5.14.0-687.23.1.el9_8, kernel-rt-modules 5.14.0-687.23.1.el9_8, kernel-rt-64k-core 5.14.0-687.23.1.el9_8, kernel-rt-debug-core 5.14.0-687.23.1.el9_8, +14 morefixed: vendor fix RHSA-2026:36645
-
Red Hat Enterprise Linux Real Time (v. 10) kernel-rt 6.12.0-211.31.1.el10_2, kernel-rt-64k 6.12.0-211.31.1.el10_2, kernel-rt-core 6.12.0-211.31.1.el10_2, kernel-rt-modules 6.12.0-211.31.1.el10_2, kernel-rt-64k-core 6.12.0-211.31.1.el10_2, kernel-rt-debug-core 6.12.0-211.31.1.el10_2, +14 morefixed: vendor fix RHSA-2026:36541
-
Red Hat Enterprise Linux Real Time E4S (v.9.4) kernel-rt 5.14.0-427.137.1.el9_4, kernel-rt-core 5.14.0-427.137.1.el9_4, kernel-rt-modules 5.14.0-427.137.1.el9_4, kernel-rt-debug-core 5.14.0-427.137.1.el9_4, kernel-rt-modules-core 5.14.0-427.137.1.el9_4, kernel-rt-debug-modules 5.14.0-427.137.1.el9_4, +4 morefixed: vendor fix RHSA-2026:37729
-
Red Hat Enterprise Linux Real Time EUS (v. 10.0) kernel-rt 6.12.0-55.88.1.el10_0, kernel-rt-64k 6.12.0-55.88.1.el10_0, kernel-rt-core 6.12.0-55.88.1.el10_0, kernel-rt-modules 6.12.0-55.88.1.el10_0, kernel-rt-64k-core 6.12.0-55.88.1.el10_0, kernel-rt-debug-core 6.12.0-55.88.1.el10_0, +14 morefixed: vendor fix RHSA-2026:39371
-
Red Hat Enterprise Linux Real Time EUS (v.9.6) kernel-rt 5.14.0-570.127.1.el9_6, kernel-rt-64k 5.14.0-570.127.1.el9_6, kernel-rt-core 5.14.0-570.127.1.el9_6, kernel-rt-modules 5.14.0-570.127.1.el9_6, kernel-rt-64k-core 5.14.0-570.127.1.el9_6, kernel-rt-debug-core 5.14.0-570.127.1.el9_6, +14 morefixed: vendor fix RHSA-2026:38902
-
Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt 5.14.0-687.23.1.el9_8, kernel-rt-core 5.14.0-687.23.1.el9_8, kernel-rt-modules 5.14.0-687.23.1.el9_8, kernel-rt-debug-core 5.14.0-687.23.1.el9_8, kernel-rt-modules-core 5.14.0-687.23.1.el9_8, kernel-rt-debug-modules 5.14.0-687.23.1.el9_8, +4 morefixed: vendor fix RHSA-2026:36645
-
Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt 6.12.0-211.31.1.el10_2, kernel-rt-core 6.12.0-211.31.1.el10_2, kernel-rt-modules 6.12.0-211.31.1.el10_2, kernel-rt-debug-core 6.12.0-211.31.1.el10_2, kernel-rt-modules-core 6.12.0-211.31.1.el10_2, kernel-rt-debug-modules 6.12.0-211.31.1.el10_2, +4 morefixed: vendor fix RHSA-2026:36541
-
Red Hat Enterprise Linux Real Time for NFV E4S (v.9.4) kernel-rt 5.14.0-427.137.1.el9_4, kernel-rt-kvm 5.14.0-427.137.1.el9_4, kernel-rt-core 5.14.0-427.137.1.el9_4, kernel-rt-modules 5.14.0-427.137.1.el9_4, kernel-rt-debug-kvm 5.14.0-427.137.1.el9_4, kernel-rt-debug-core 5.14.0-427.137.1.el9_4, +6 morefixed: vendor fix RHSA-2026:37729
-
Red Hat Enterprise Linux Real Time for NFV EUS (v. 10.0) kernel-rt 6.12.0-55.88.1.el10_0, kernel-rt-kvm 6.12.0-55.88.1.el10_0, kernel-rt-core 6.12.0-55.88.1.el10_0, kernel-rt-modules 6.12.0-55.88.1.el10_0, kernel-rt-debug-kvm 6.12.0-55.88.1.el10_0, kernel-rt-debug-core 6.12.0-55.88.1.el10_0, +6 morefixed: vendor fix RHSA-2026:39371
-
Red Hat Enterprise Linux Real Time for NFV EUS (v.9.6) kernel-rt 5.14.0-570.127.1.el9_6, kernel-rt-kvm 5.14.0-570.127.1.el9_6, kernel-rt-core 5.14.0-570.127.1.el9_6, kernel-rt-modules 5.14.0-570.127.1.el9_6, kernel-rt-debug-kvm 5.14.0-570.127.1.el9_6, kernel-rt-debug-core 5.14.0-570.127.1.el9_6, +6 morefixed: vendor fix RHSA-2026:38902
-
Red Hat OpenShift Container Platform 4.19 rhcos 4.19.9.6.202607220857fixed: vendor fix RHSA-2026:44231
-
Red Hat OpenShift Container Platform 4.20 rhcos 4.20.9.6.202607151937fixed: vendor fix RHSA-2026:40787
-
Red Hat OpenShift Container Platform 4.21 rhcos 4.21.9.6.202607151836fixed: vendor fix RHSA-2026:40779
-
Red Hat OpenShift Container Platform 4.22 rhcos 4.22.9.8.202607152026fixed: vendor fix RHSA-2026:40764
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 kernel-rt, kernel-rt-kvm, kernel-rt-core, kernel-rt-modules, kernel-rt-debug-kvm, kernel-rt-debug-core, +12 more Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-8not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 24 d ago
Exploit prediction
4.58% chance of exploitation in the next 30 days, higher than 91% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected products
- Linux Linux
Classification
- Weakness
-
- CWE-416 Use After Free
- Technology feeds
References
- git.kernel.org /stable/c/a10fbbe74e1c743beb1bb312109366667461df8a
- git.kernel.org /stable/c/3e1144d2515d28e4312e663ea05eac203101491d
- git.kernel.org /stable/c/2de4db145b2992da496fea6c51f9839be678ae24
- git.kernel.org /stable/c/9324de74a3a59b9fde9b62ee45ebaa71458ba2e5
-
git.kernel.org
/stable/c/ef4ca02e95363e78977ca04340d44fe3b4b2b81f
patch
-
git.kernel.org
/stable/c/ced39b6a8062bac5c18a1c3df85634107eb8664a
patch
-
git.kernel.org
/stable/c/a6dc643c69311677c574a0f17a3f4d66a5f3744b
patch
- openwall.com /lists/oss-security/2026/07/08/14
Sources
- CVE List CVE-2026-46242
- NVD CVE-2026-46242
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.