CVE-2026-46242

HIGHPre-NVD 7.87.8
EchelonGraph scoreMEDIUM confidence

Score 7.8 from GitHub Security Advisory (severity: HIGH) published 2026-05-30. a secondary CVSS source baseline 7.8; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, secondary
Trending — Patch released this weekElevated
7.8
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS: 0%CVSS: 7.8Exploit: NoneExposed: 0

A fix is available — apply it.

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.

CVSS v3
7.8
EG Score
7.8(medium)
EPSS
2.6%
KEV
Not listed

Published

May 30, 2026

Last Modified

July 9, 2026

Advisory Details (3)

Auto-updated Jun 5, 2026
No patch confirmed yet.
generic

eventpoll: fix ep_remove struct eventpoll / struct file UAF - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/ef4ca02e95363e78977ca04340d44fe3b4b2b81f
generic

eventpoll: fix ep_remove struct eventpoll / struct file UAF - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/ced39b6a8062bac5c18a1c3df85634107eb8664a
generic

eventpoll: fix ep_remove struct eventpoll / struct file UAF - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/a6dc643c69311677c574a0f17a3f4d66a5f3744b

Patch Availability(6)

Vendor / EcosystemFixed in / PatchReleasedSource
redhatkernel-0:6.12.0-55.88.1.el10_02026-07-14redhat
redhatkernel-0:5.14.0-570.127.1.el9_62026-07-13redhat
redhatkernel-0:5.14.0-427.137.1.el9_42026-07-10redhat
redhatkernel-0:5.14.0-687.23.1.el9_82026-07-08redhat
redhatkernel-0:6.12.0-211.31.1.el10_22026-07-08redhat
redhatkernel-0:6.12.0-231.15.el10nv2026-07-07redhat

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 16× in last 7d / 87× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

Showing the most recent 100 of 156 total refreshes for this CVE.

  1. 2026-07-16 01:45 UTCEG score recompute
  2. 2026-07-16 01:45 UTCVendor advisory
  3. 2026-07-16 01:45 UTCGHSA enrichment
  4. 2026-07-15 16:57 UTCEPSS rescore
  5. 2026-07-15 02:00 UTCEPSS rescore
  6. 2026-07-14 13:42 UTCEG score recompute
  7. 2026-07-14 13:42 UTCVendor advisory
  8. 2026-07-14 13:42 UTCGHSA enrichment
  9. 2026-07-13 22:30 UTCEPSS rescore
  10. 2026-07-13 06:13 UTCEPSS rescore
  11. 2026-07-12 05:46 UTCEPSS rescore
  12. 2026-07-11 16:40 UTCEG score recompute
  13. 2026-07-11 16:40 UTCVendor advisory
  14. 2026-07-11 16:40 UTCGHSA enrichment
  15. 2026-07-11 08:27 UTCEPSS rescore
  16. 2026-07-09 19:10 UTCEPSS rescore
  17. 2026-07-08 17:13 UTCEG score recompute
  18. 2026-07-08 17:13 UTCVendor advisory
  19. 2026-07-08 17:13 UTCGHSA enrichment
  20. 2026-07-08 15:16 UTCEPSS rescore
  21. 2026-07-07 13:46 UTCEPSS rescore
  22. 2026-07-06 16:27 UTCEPSS rescore
  23. 2026-07-06 02:23 UTCEPSS rescore
  24. 2026-07-04 06:31 UTCEPSS rescore
  25. 2026-07-02 18:55 UTCEG score recompute
Show 75 more
  1. 2026-07-02 18:55 UTCGHSA enrichment
  2. 2026-07-02 03:36 UTCEG score recompute
  3. 2026-07-02 03:36 UTCGHSA enrichment
  4. 2026-07-01 13:54 UTCEG score recompute
  5. 2026-07-01 13:54 UTCGHSA enrichment
  6. 2026-07-01 01:16 UTCEG score recompute
  7. 2026-07-01 01:16 UTCGHSA enrichment
  8. 2026-06-30 23:22 UTCEPSS rescore
  9. 2026-06-30 00:57 UTCEG score recompute
  10. 2026-06-30 00:57 UTCGHSA enrichment
  11. 2026-06-29 14:06 UTCEPSS rescore
  12. 2026-06-29 14:06 UTCEPSS rescore
  13. 2026-06-29 12:19 UTCEG score recompute
  14. 2026-06-29 12:19 UTCGHSA enrichment
  15. 2026-06-28 19:17 UTCEG score recompute
  16. 2026-06-28 19:17 UTCGHSA enrichment
  17. 2026-06-28 14:07 UTCEPSS rescore
  18. 2026-06-28 06:38 UTCEG score recompute
  19. 2026-06-28 06:38 UTCGHSA enrichment
  20. 2026-06-28 04:56 UTCEPSS rescore
  21. 2026-06-28 04:56 UTCEPSS rescore
  22. 2026-06-27 18:00 UTCEG score recompute
  23. 2026-06-27 18:00 UTCGHSA enrichment
  24. 2026-06-27 05:21 UTCEG score recompute
  25. 2026-06-27 05:21 UTCGHSA enrichment
  26. 2026-06-27 03:08 UTCEPSS rescore
  27. 2026-06-26 16:07 UTCEG score recompute
  28. 2026-06-26 16:07 UTCGHSA enrichment
  29. 2026-06-25 18:55 UTCEG score recompute
  30. 2026-06-25 18:55 UTCGHSA enrichment
  31. 2026-06-25 13:49 UTCEPSS rescore
  32. 2026-06-25 06:16 UTCEG score recompute
  33. 2026-06-25 06:16 UTCGHSA enrichment
  34. 2026-06-24 15:17 UTCEG score recompute
  35. 2026-06-24 15:17 UTCGHSA enrichment
  36. 2026-06-24 14:05 UTCEPSS rescore
  37. 2026-06-24 02:39 UTCEG score recompute
  38. 2026-06-24 02:38 UTCGHSA enrichment
  39. 2026-06-23 21:33 UTCEPSS rescore
  40. 2026-06-23 21:33 UTCEPSS rescore
  41. 2026-06-22 14:25 UTCEPSS rescore
  42. 2026-06-22 14:25 UTCEPSS rescore
  43. 2026-06-21 14:56 UTCEPSS rescore
  44. 2026-06-21 14:56 UTCEPSS rescore
  45. 2026-06-21 01:59 UTCEPSS rescore
  46. 2026-06-21 01:59 UTCEPSS rescore
  47. 2026-06-19 19:26 UTCEPSS rescore
  48. 2026-06-19 19:26 UTCEPSS rescore
  49. 2026-06-18 22:51 UTCEG score recompute
  50. 2026-06-18 22:51 UTCGHSA enrichment
  51. 2026-06-18 17:52 UTCEPSS rescore
  52. 2026-06-18 17:52 UTCEPSS rescore
  53. 2026-06-18 10:13 UTCEG score recompute
  54. 2026-06-18 10:13 UTCGHSA enrichment
  55. 2026-06-17 17:53 UTCEPSS rescore
  56. 2026-06-17 17:39 UTCEG score recompute
  57. 2026-06-17 17:39 UTCGHSA enrichment
  58. 2026-06-17 04:44 UTCEG score recompute
  59. 2026-06-17 04:44 UTCGHSA enrichment
  60. 2026-06-16 17:52 UTCEPSS rescore
  61. 2026-06-16 16:02 UTCEG score recompute
  62. 2026-06-16 16:01 UTCGHSA enrichment
  63. 2026-06-16 03:22 UTCEG score recompute
  64. 2026-06-16 03:21 UTCGHSA enrichment
  65. 2026-06-15 17:49 UTCEPSS rescore
  66. 2026-06-15 14:44 UTCEG score recompute
  67. 2026-06-15 14:43 UTCGHSA enrichment
  68. 2026-06-15 02:04 UTCEG score recompute
  69. 2026-06-15 02:04 UTCGHSA enrichment
  70. 2026-06-14 13:26 UTCEG score recompute
  71. 2026-06-14 13:26 UTCGHSA enrichment
  72. 2026-06-14 00:48 UTCEG score recompute
  73. 2026-06-14 00:48 UTCGHSA enrichment
  74. 2026-06-13 23:00 UTCEPSS rescore
  75. 2026-06-13 12:09 UTCEG score recompute

Publicly available exploits

(2 references)

Working exploit code is in the public domain (2 GitHub PoCs). Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.

  • GitHub PoCSaithFranklinB/ScannerBadEpoll
    First seen Jul 8, 2026

    Verificador de Vulnerabilidad: Bad Epoll (CVE-2026-46242)

    Open source ↗
  • GitHub PoC0xBlackash/CVE-2026-46242
    First seen Jul 4, 2026

    CVE-2026-46242

    Open source ↗

Frequently asked(5)

What is CVE-2026-46242?
CVE-2026-46242 is a high vulnerability published on May 30, 2026. In the Linux kernel, the following vulnerability has been resolved: eventpoll: fix ep_remove struct eventpoll / struct file UAF epremove() (via epremovefile()) cleared file->fep under file->f_lock but then kept using @file inside the critical section (isfileepoll(), hlistdelrcu() through the head,…
When was CVE-2026-46242 disclosed?
CVE-2026-46242 was first published in the National Vulnerability Database on May 30, 2026, with the most recent update on July 9, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-46242 actively exploited?
CVE-2026-46242 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 2.6% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2026-46242?
CVE-2026-46242 has a CVSS v3 base score of 7.8 (NVD).
How do I remediate CVE-2026-46242?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-46242, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2026-46242

Explore →

Is Your Infrastructure Affected by CVE-2026-46242?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.