{"id":25548,"date":"2026-09-18T04:31:32","date_gmt":"2026-09-17T20:31:32","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90139"},"modified":"2026-09-18T04:31:32","modified_gmt":"2026-09-17T20:31:32","slug":"cve-2026-90139","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90139","title":{"rendered":"CVE-2026-90139 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nfuse: check for NULL"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>fuse: check for NULL root inode in fuse_fill_super_submount<\/p>\n<p>fuse_iget() can return NULL when its inode allocation fails, but<br \/>\nfuse_fill_super_submount() passed the result straight to get_fuse_inode()<br \/>\nand decremented fi-&gt;nlookup without checking it:<\/p>\n<p>        root = fuse_iget(sb, parent_fi-&gt;nodeid, &#8230;);<br \/>\n        fi = get_fuse_inode(root);<br \/>\n        fi-&gt;nlookup&#8211;;<\/p>\n<p>Inside fuse_iget() the inode allocation can fail and return NULL.  The<br \/>\nsubmount root takes the iget5_locked() path, whose alloc_inode() can fail<br \/>\nunder memory pressure (the auto-submount branch can fail the same way in<br \/>\nnew_inode() or fuse_alloc_submount_lookup()):<\/p>\n<p>        inode = iget5_locked(sb, nodeid, fuse_inode_eq, fuse_inode_set,<br \/>\n                             &amp;nodeid);<br \/>\n        if (!inode)<br \/>\n                return NULL;<\/p>\n<p>A NULL root makes get_fuse_inode() a container_of() on NULL and the<br \/>\nnlookup decrement a write to a bogus address, oopsing the mount.  With<br \/>\nCONFIG_KASAN the following null pointer dereference is reported when the<br \/>\nroot inode allocation of an auto-submount fails (e.g. under memory<br \/>\npressure):<\/p>\n<p>==================================================================<br \/>\nBUG: KASAN: null-ptr-deref in fuse_get_tree_submount+0x656\/0x8b0<br \/>\nRead of size 8 at addr 00000000000002b0 by task ls\/942<br \/>\nCPU: 0 PID: 942 Comm: ls Tainted: G W 6.6 #15<br \/>\nCall Trace:<\/p>\n<p> fuse_get_tree_submount+0x656\/0x8b0<br \/>\n vfs_get_tree+0x48\/0x140<br \/>\n fc_mount+0x13\/0x50<br \/>\n fuse_dentry_automount+0x7a\/0xb0<br \/>\n __traverse_mounts+0xca\/0x330<br \/>\n step_into+0x339\/0xac0<br \/>\n path_lookupat+0xc5\/0x2f0<br \/>\n filename_lookup+0x163\/0x2a0<br \/>\n vfs_statx+0xd5\/0x200<br \/>\n do_statx+0x83\/0xd0<br \/>\n __x64_sys_statx+0xa0\/0xc0<br \/>\n do_syscall_64+0x37\/0x90<br \/>\n entry_SYSCALL_64_after_hwframe+0x78\/0xe2<\/p>\n<p>==================================================================<\/p>\n<p>Return -ENOMEM instead; the caller tears down the partially built<br \/>\nsuperblock on error, matching the other error returns in this<br \/>\nfunction.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>fuse: check for NULL root inode in fuse_fill_super_submount<\/p>\n<p>fuse_iget() can return NULL when its inode allocation fails, but<br \/>\nfuse_<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25548","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25548","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25548"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25548"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}