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 — 4 sources updated this weekElevated
7.8EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 3%CVSS: 7.8Exploit: Elevated riskExposed: 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)
EG Risk
56(Track)
EG Risk 56/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity78% × 45%
Exploitation40% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
3%
EPSS %ILE
87%
KEV
Not listed

Published

May 30, 2026

Last Modified

July 24, 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(27)

Vendor / EcosystemFixed in / PatchReleasedSource
ubuntulinux-xilinx-zynqmp (6.8.0.1034.35) @ noble2026-08-25ubuntu
ubuntulinux-tools-aws-edge (6.8.0-1062.65~22.04.2) @ jammy2026-08-25ubuntu
ubuntulinux-tools-azure-fde-7.0 (7.0.0-1009.9) @ resolute2026-08-25ubuntu
ubuntulinux-tools-nvidia-hwe-24.04-edge (7.0.0-1016.16) @ resolute2026-08-25ubuntu
ubuntulinux-tools-raspi-realtime-7.0 (7.0.0-1015.15) @ resolute2026-08-25ubuntu
ubuntulinux-tools-nvidia-hwe-26.04 (7.0.0-2016.16) @ resolute2026-08-25ubuntu
ubuntulinux-tools-nvidia-hwe-24.04 (6.17.0-1031.31) @ noble2026-08-25ubuntu
ubuntulinux-tools-oracle-edge (6.8.0-1059.62~22.04.1) @ jammy2026-08-25ubuntu
ubuntulinux-tools-oracle-64k-6.17 (6.17.0-1020.20) @ noble2026-08-25ubuntu
ubuntulinux-virtual-hwe-24.04-edge (7.0.0-28.28~24.04.1) @ noble2026-08-25ubuntu
ubuntulinux-virtual-hwe-22.04-edge (6.8.0-138.138~22.04.1) @ jammy2026-08-25ubuntu
ubuntulinux-virtual-hwe-26.04-edge (7.0.0-28.28) @ resolute2026-08-25ubuntu
ubuntulinux-tools-oracle-lts-24.04 (6.8.0-1059.62) @ noble2026-08-25ubuntu
ubuntulinux-tools-oem-7.0 (7.0.0-1009.9) @ resolute2026-08-25ubuntu
ubuntulinux-virtual-6.17 (6.17.0-42.42) @ noble2026-08-25ubuntu
ubuntulinux-tools-oracle-7.0 (7.0.0-1008.8) @ resolute2026-08-25ubuntu
redhatrhcos-4.19.9.6.202607220857-02026-07-29redhat
redhatkpatch-patch2026-07-23redhat
redhatrhcos-4.22.9.8.202607152026-02026-07-21redhat
redhatrhcos-4.20.9.6.202607151937-02026-07-21redhat
redhatrhcos-4.21.9.6.202607151836-02026-07-21redhat
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.

Affected Packages

(2 across 2 ecosystems)
Debian:13(1)
PackageVulnerable rangeFixed inDependents
linux6.12.38-1 ... 6.12.95-1~bpo12+1 (29 versions)6.12.95-1
Debian:14(1)
PackageVulnerable rangeFixed inDependents
linux6.12.100-1 ... 7.0.9-1~bpo13+1 (137 versions)7.0.10-1

Weakness Classification(1)

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

Additional Vendor Advisories

(11)

Data Freshness Timeline

(refreshed 9× in last 7d / 111× 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 255 total refreshes for this CVE.

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

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 24, 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 3% probability of exploitation in the next 30 days, which ranks it in the top 13.0% of all scored CVEs.
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

See which npm, PyPI, Go, and Maven packages are affected by 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.