CVE-2022-50673
Description
In the Linux kernel, the following vulnerability has been resolved:
ext4: fix use-after-free in ext4_orphan_cleanup
I caught a issue as follows: ================================================================== BUG: KASAN: use-after-free in __list_add_valid+0x28/0x1a0 Read of size 8 at addr ffff88814b13f378 by task mount/710
CPU: 1 PID: 710 Comm: mount Not tainted 6.1.0-rc3-next #370 Call Trace:
dump_stack_lvl+0x73/0x9f print_report+0x25d/0x759 kasan_report+0xc0/0x120 __asan_load8+0x99/0x140 __list_add_valid+0x28/0x1a0 ext4_orphan_cleanup+0x564/0x9d0 [ext4] __ext4_fill_super+0x48e2/0x5300 [ext4] ext4_fill_super+0x19f/0x3a0 [ext4] get_tree_bdev+0x27b/0x450 ext4_get_tree+0x19/0x30 [ext4] vfs_get_tree+0x49/0x150 path_mount+0xaae/0x1350 do_mount+0xe2/0x110 __x64_sys_mount+0xf0/0x190 do_syscall_64+0x35/0x80 entry_SYSCALL_64_after_hwframe+0x63/0xcd
[...] ==================================================================
Above issue may happen as follows: ------------------------------------- ext4_fill_super ext4_orphan_cleanup --- loop1: assume last_orphan is 12 --- list_add(&EXT4_I(inode)->i_orphan, &EXT4_SB(sb)->s_orphan) ext4_truncate --> return 0 ext4_inode_attach_jinode --> return -ENOMEM iput(inode) --> free inode<12> --- loop2: last_orphan is still 12 --- list_add(&EXT4_I(inode)->i_orphan, &EXT4_SB(sb)->s_orphan); // use inode<12> and trigger UAF
To solve this issue, we need to propagate the return value of ext4_inode_attach_jinode() appropriately.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
A use-after-free vulnerability in the Linux kernel's ext4 filesystem during orphan cleanup can be triggered by mounting a crafted ext4 image, potentially leading to system compromise.
Vulnerability
CVE-2022-50673 is a use-after-free vulnerability in the Linux kernel's ext4 filesystem, specifically in the ext4_orphan_cleanup function. The root cause is that when ext4_inode_attach_jinode() fails (e.g., due to an -ENOMEM error), the function does not propagate the error return value appropriately. As a result, the orphan cleanup loop continues to use a second iteration using a stale orphan inode pointer that has already been freed, leading to a use-after-free condition [1][2][3].
Exploitation
An attacker can trigger this vulnerability by mounting a specially crafted ext4 filesystem image that contains orphan inodes. The attack requires local access to the system and the ability to mount a filesystem, which typically requires root or privileged capabilities. During the mount process, the kernel's ext4_fill_super function calls ext4_orphan_cleanup, which iterates over the orphan list. If the first orphan inode's truncation fails due to memory allocation failure, the inode is freed, but the loop continues with the same orphan inode pointer, causing the use-after-free [1][2][3].
Impact
Successful exploitation could allow an attacker to cause a denial of service (system crash) or potentially escalate privileges, or potentially execute arbitrary code in the kernel context, depending on the system's memory layout and the attacker's ability to control the freed memory. The vulnerability is rated with a CVSS v3.1 score of 7.8 (High) due to its impact on confidentiality, integrity, and availability [1][1][2][3].
Mitigation
The fix has been applied to the Linux kernel stable tree. Users should update to a kernel version containing the commit that propagates the return value of ext4_inode_attach_jinode() appropriately, preventing the use-after-free. The fix is included in kernel versions 6.1.0-rc3-next and later, as well as in subsequent stable releases [1][2][3].
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
2Patches
77f801a1593cb026a4490b5387223d5e75f26cf0e0817b0f9c2bdbd4c69307908b8a541b1a71248b1accbVulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
7- git.kernel.org/stable/c/026a4490b5381229a30f23d073b58e8e35ee6858nvd
- git.kernel.org/stable/c/7223d5e75f26352354ea2c0ccf8b579821b52adfnvd
- git.kernel.org/stable/c/7908b8a541b1578cc61b4da7f19b604a931441danvd
- git.kernel.org/stable/c/7f801a1593cb957f73659732836b2dafbdfc7709nvd
- git.kernel.org/stable/c/a71248b1accb2b42e4980afef4fa4a27fa0e36f5nvd
- git.kernel.org/stable/c/c2bdbd4c69308835d1b6f6ba74feeccbfe113478nvd
- git.kernel.org/stable/c/cf0e0817b0f925b70d101d7014ea81b7094e1159nvd
News mentions
0No linked articles in our index yet.