Zero Day MonitorZDM
DashboardVulnerabilitiesTrendingZero-DaysNewsAbout
Login
ImpressumPrivacy Policy
Zero Day Monitor © 2026
4344 articles · 196297 vulns · 36/41 feeds (7d)
← Back to list
7.8
CVE-2026-46242EXPLOITEDPATCHED
linux · linux_kernel

eventpoll: fix ep_remove struct eventpoll / struct file UAF

Description

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.

Affected Products

VendorProductVersions
linuxlinux_kernela1f93804449d13f97dabd4b996817de4bf1ed67a, 58c9b016e12855286370dfb704c08498edbc857a, 58c9b016e12855286370dfb704c08498edbc857a, 58c9b016e12855286370dfb704c08498edbc857a, 58c9b016e12855286370dfb704c08498edbc857a, 58c9b016e12855286370dfb704c08498edbc857a, f2451def095c1743adcfcb0cb5dadc86034e162a, 6.1.175, 5.15.209, 6.4

Also Affects

Downstream vendors/products affected by this vulnerability

VendorProductSourceConfidence
open sourcelinux kernelcert_advisory90%

References

  • https://git.kernel.org/stable/c/3e1144d2515d28e4312e663ea05eac203101491d
  • https://git.kernel.org/stable/c/2de4db145b2992da496fea6c51f9839be678ae24
  • https://git.kernel.org/stable/c/9324de74a3a59b9fde9b62ee45ebaa71458ba2e5
  • https://git.kernel.org/stable/c/ef4ca02e95363e78977ca04340d44fe3b4b2b81f
  • https://git.kernel.org/stable/c/ced39b6a8062bac5c18a1c3df85634107eb8664a
  • https://git.kernel.org/stable/c/a6dc643c69311677c574a0f17a3f4d66a5f3744b

Related News (13 articles)

Tier B
CERT-FR3d ago
Multiples vulnérabilités dans le noyau Linux d'Ubuntu (21 août 2026)
→ No new info (linked only)
Tier B
CERT-FR10d ago
Multiples vulnérabilités dans le noyau Linux d'Ubuntu (14 août 2026)
→ No new info (linked only)
Tier B
CERT-FR24d ago
Multiples vulnérabilités dans le noyau Linux de SUSE (31 juillet 2026)
→ No new info (linked only)
Tier B
CERT-FR31d ago
Multiples vulnérabilités dans le noyau Linux de SUSE (24 juillet 2026)
→ No new info (linked only)
Tier C
oss-security40d ago
Re: new af_alg exploit in the wild?
→ No new info (linked only)
Tier C
oss-security46d ago
Re: CVE-2026-46242 ("Bad Epoll") local privilege escalation on Linux, including Android
→ No new info (linked only)
Tier C
oss-security46d ago
CVE-2026-46242 ("Bad Epoll") local privilege escalation on Linux, including Android
→ No new info (linked only)
Tier D
SecurityWeek48d ago
Proof-of-Concept Exploit Released for Linux ‘Bad Epoll’ Root Access Vulnerability
→ No new info (linked only)
Tier E
Lobsters Security50d ago
Bad Epoll (CVE-2026-46242)
→ No new info (linked only)
Tier D
The Hacker News51d ago
New "Bad Epoll" Linux Kernel Flaw Lets Unprivileged Users Gain Root, Hits Android
→ No new info (linked only)
Tier B
BSI Advisories83d ago
[NEU] [mittel] Linux Kernel: Schwachstelle ermöglicht Denial of Service
→ No new info (linked only)
Tier A
Microsoft MSRC84d ago
CVE-2026-46242 eventpoll: fix ep_remove struct eventpoll / struct file UAF
→ No new info (linked only)
Tier C
VulDB85d ago
CVE-2026-46242 | Linux Kernel up to 6.18.32/7.0.9 eventpoll ep_remove_file f_ep use after free
→ No new info (linked only)
CVSS 3.17.8 HIGH
VectorCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CISA KEV❌ No
Actively exploited✅ Yes
Patch available
ef4ca02e95363e78977ca04340d44fe3b4b2b81fced39b6a8062bac5c18a1c3df85634107eb8664aa6dc643c69311677c574a0f17a3f4d66a5f3744b06.18.337.0.107.1-rc1
PublishedMay 30, 2026
Last enriched40d agov7
Tags
CVE-2026-46242Bad EpollCVE-2026-43074local privilege escalationAndroidCVE-2026-53362
Trending Score51
Source articles13
Independent8
Info Completeness9/14
Missing: epss, cwe, kev, iocs, mitre_attack

Community Vote

0
Login to vote
0 upvotes0 downvotes
No votes yet

Related CVEs (5)

HIGHCVE-2026-53359EXP
KVM: x86: Fix shadow paging use-after-free due to unexpected role
Trending: 65
HIGHCVE-2026-46331EXP
net/sched: fix pedit partial COW leading to page cache corruption
Trending: 64
HIGHCVE-2026-64600EXP
xfs: resample the data fork mapping after cycling ILOCK
Trending: 56
HIGHCVE-2026-53366EXP
ipv4: account for fraggap on the paged allocation path
Trending: 49
HIGHCVE-2026-64531
net: openvswitch: reject oversized nested action attrs
Trending: 49

Pin to Dashboard

Verification

State: unverified
Confidence: 0%

Vulnerability Timeline

CVE Published
May 30, 2026
Discovered by ZDM
May 30, 2026
Updated: description, affectedVersions, severity, cvssEstimate, tags
May 30, 2026
Updated: tags
Jul 3, 2026
Updated: description, affectedVersions, tags
Jul 6, 2026
Updated: description
Jul 6, 2026
Updated: description, tags
Jul 8, 2026
Updated: affectedVersions, tags
Jul 14, 2026
Actively Exploited
Aug 5, 2026
Exploit Available
Aug 5, 2026
Patch Available
Aug 5, 2026

Version History

v7
Last enriched 40d ago
v7Tier C40d ago

Added affected version 6.12.95 and new tag CVE-2026-53362.

affectedVersionstags
via oss-security
v6Tier C46d ago

Updated description with technical details about the race-condition use-after-free and added new tags related to local privilege escalation and Android.

descriptiontags
via oss-security
v5Tier D48d ago

Added affected versions 6.4 and 6.6, included CVE-2026-43074 in tags, and provided additional technical details in the description.

description
via SecurityWeek
v4Tier D48d ago

Added detailed technical description of the vulnerability, included new affected version 6.6, and added CVE-2026-43074 as a related tag.

descriptionaffectedVersionstags
via SecurityWeek
v3Tier D51d ago

Updated description to include the impact of the vulnerability on unprivileged users and added a new tag 'Bad Epoll'.

tags
via The Hacker News
v2Tier C85d ago

Updated severity to CRITICAL, added affected versions 6.18.32 and 7.0.9, and noted that no exploit is available.

descriptionaffectedVersionsseveritycvssEstimatetags
via VulDB
v185d ago

Initial creation