Skip to content
Fencer Vulns
high 7.8

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

  • kernel Azure Linux 3.0 6.6.144.1-1

azure linux advisories AZL-89159

Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT

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-9
    affected: 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 more
    fixed: 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_6
    fixed: 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 more
    fixed: 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 more
    fixed: 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 more
    fixed: 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 more
    fixed: 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 more
    fixed: vendor fix RHSA-2026:38902
show 23 more
  • 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 more
    fixed: 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 more
    fixed: 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 more
    fixed: 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 more
    fixed: 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 more
    fixed: 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_8
    fixed: 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_2
    fixed: 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_0
    fixed: 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 more
    fixed: 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 more
    fixed: 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 more
    fixed: 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 more
    fixed: 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 more
    fixed: 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 more
    fixed: 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 more
    fixed: 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 more
    fixed: 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 more
    fixed: 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 more
    fixed: vendor fix RHSA-2026:38902
  • Red Hat OpenShift Container Platform 4.19 rhcos 4.19.9.6.202607220857
    fixed: vendor fix RHSA-2026:44231
  • Red Hat OpenShift Container Platform 4.20 rhcos 4.20.9.6.202607151937
    fixed: vendor fix RHSA-2026:40787
  • Red Hat OpenShift Container Platform 4.21 rhcos 4.21.9.6.202607151836
    fixed: vendor fix RHSA-2026:40779
  • Red Hat OpenShift Container Platform 4.22 rhcos 4.22.9.8.202607152026
    fixed: 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-8
    not 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
Technology feeds

References

Sources

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.