Search for vulnerabilities
| Vulnerability ID | VCID-r89h-js19-77dr |
| Aliases |
CVE-2026-31446
|
| Summary | 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. |
| Status | Published |
| Exploitability | 0.5 |
| Weighted Severity | 6.3 |
| Risk | 3.1 |
| Affected and Fixed Packages | Package Details |
| CWE-825 | Expired Pointer Dereference |
| System | Score | Found at |
|---|---|---|
| cvssv3 | 5.5 | https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2026-31446.json |
| cvssv3 | 7.0 | https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2026-31446.json |
| epss | 0.00013 | https://api.first.org/data/v1/epss?cve=CVE-2026-31446 |
| epss | 0.00024 | https://api.first.org/data/v1/epss?cve=CVE-2026-31446 |
| epss | 0.00024 | https://api.first.org/data/v1/epss?cve=CVE-2026-31446 |
| cvssv3.1 | 4.7 | https://ftp.suse.com/pub/projects/security/yaml/suse-cvss-scores.yaml |
| Attack Vector (AV) | Attack Complexity (AC) | Privileges Required (PR) | User Interaction (UI) | Scope (S) | Confidentiality Impact (C) | Integrity Impact (I) | Availability Impact (A) |
|---|---|---|---|---|---|---|---|
network adjacent_network local physical |
low high |
none low high |
none required |
unchanged changed |
high low none |
high low none |
high low none |
| Attack Vector (AV) | Attack Complexity (AC) | Privileges Required (PR) | User Interaction (UI) | Scope (S) | Confidentiality Impact (C) | Integrity Impact (I) | Availability Impact (A) |
|---|---|---|---|---|---|---|---|
network adjacent_network local physical |
low high |
none low high |
none required |
unchanged changed |
high low none |
high low none |
high low none |
| Attack Vector (AV) | Attack Complexity (AC) | Privileges Required (PR) | User Interaction (UI) | Scope (S) | Confidentiality Impact (C) | Integrity Impact (I) | Availability Impact (A) |
|---|---|---|---|---|---|---|---|
network adjacent_network local physical |
low high |
none low high |
none required |
unchanged changed |
high low none |
high low none |
high low none |
| Percentile | 0.02224 |
| EPSS Score | 0.00013 |
| Published At | April 29, 2026, 12:55 p.m. |
| Date | Actor | Action | Source | VulnerableCode Version |
|---|---|---|---|---|
| 2026-04-23T05:40:56.457240+00:00 | Debian Importer | Import | https://security-tracker.debian.org/tracker/data/json | 38.4.0 |