CVE-2026-31446

HIGHPre-NVD 7.87.8
EchelonGraph scoreMEDIUM confidence

Score 7.8 from GitHub Security Advisory (severity: HIGH) published 2026-04-22. NVD baseline CVSS 7.8; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, nvd
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

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

In the Linux kernel, the following vulnerability has been resolved:

ext4: fix use-after-free in update_super_work when racing with umount

Commit b98535d09179 ("ext4: fix bug_on in start_this_handle during umount filesystem") moved ext4_unregister_sysfs() before flushing s_sb_upd_work to prevent new error work from being queued via /proc/fs/ext4/xx/mb_groups reads during unmount. However, this introduced a use-after-free because update_super_work calls ext4_notify_error_sysfs() -> sysfs_notify() which accesses the kobject's kernfs_node after it has been freed by kobject_del() in ext4_unregister_sysfs():

update_super_work ext4_put_super ----------------- -------------- ext4_unregister_sysfs(sb) kobject_del(&sbi->s_kobj) __kobject_del() sysfs_remove_dir() kobj->sd = NULL sysfs_put(sd) kernfs_put() // RCU free ext4_notify_error_sysfs(sbi) sysfs_notify(&sbi->s_kobj) kn = kobj->sd // stale pointer kernfs_get(kn) // UAF on freed kernfs_node ext4_journal_destroy() flush_work(&sbi->s_sb_upd_work)

Instead of reordering the teardown sequence, fix this by making ext4_notify_error_sysfs() detect that sysfs has already been torn down by checking s_kobj.state_in_sysfs, and skipping the sysfs_notify() call in that case. A dedicated mutex (s_error_notify_mutex) serializes ext4_notify_error_sysfs() against kobject_del() in ext4_unregister_sysfs() to prevent TOCTOU races where the kobject could be deleted between the state_in_sysfs check and the sysfs_notify() call.

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

Published

April 22, 2026

Last Modified

July 14, 2026

Advisory Details (7)

Auto-updated May 7, 2026
No patch confirmed yet.
generic

ext4: fix use-after-free in update_super_work when racing with umount - kernel/git/stable/linux.git - Linux kernel stable tree

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

ext4: fix use-after-free in update_super_work when racing with umount - kernel/git/stable/linux.git - Linux kernel stable tree

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

ext4: fix use-after-free in update_super_work when racing with umount - kernel/git/stable/linux.git - Linux kernel stable tree

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

ext4: fix use-after-free in update_super_work when racing with umount - kernel/git/stable/linux.git - Linux kernel stable tree

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

ext4: fix use-after-free in update_super_work when racing with umount - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/9449f99ba04f5dd1c8423ad8a90b3651d7240d1d
generic

ext4: fix use-after-free in update_super_work when racing with umount - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/08b10e6f37fc533a759e9833af0692242e8b3f93
generic

ext4: fix use-after-free in update_super_work when racing with umount - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/034053378dd81837fd6c7a43b37ee2e58d4f0b4e

Vendor Advisories for CVE-2026-31446(2)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Weakness Classification(1)

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

Data Freshness Timeline

(refreshed 6× in last 7d / 37× 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 155 total refreshes for this CVE.

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

Frequently asked(5)

What is CVE-2026-31446?
CVE-2026-31446 is a high vulnerability published on April 22, 2026. In the Linux kernel, the following vulnerability has been resolved: ext4: fix use-after-free in updatesuperwork when racing with umount Commit b98535d09179 ("ext4: fix bugon in startthis_handle during umount filesystem") moved ext4unregistersysfs() before flushing ssbupd_work to prevent new error…
When was CVE-2026-31446 disclosed?
CVE-2026-31446 was first published in the National Vulnerability Database on April 22, 2026, with the most recent update on July 14, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-31446 actively exploited?
CVE-2026-31446 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 3.3% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2026-31446?
CVE-2026-31446 has a CVSS v3 base score of 7.8 (NVD).
How do I remediate CVE-2026-31446?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-31446, 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-31446

Explore →

Is Your Infrastructure Affected by CVE-2026-31446?

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