{"id":25512,"date":"2026-09-18T04:31:29","date_gmt":"2026-09-17T20:31:29","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90103"},"modified":"2026-09-18T04:31:29","modified_gmt":"2026-09-17T20:31:29","slug":"cve-2026-90103","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90103","title":{"rendered":"CVE-2026-90103 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nNFSv4.2: fix LAYOUTST"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>NFSv4.2: fix LAYOUTSTATS send buffer exhaustion<\/p>\n<p>encode_layoutstats_maxsz budgets XDR_QUADLEN(PNFS_LAYOUTSTATS_MAXSIZE),<br \/>\ni.e. 256 bytes, for the layoutupdate4 body written by the layout driver.<br \/>\nThe flexfiles record can exceed that.<\/p>\n<p>ff_layout_encode_ff_layoutupdate() emits, per data server, a netaddr4,<br \/>\nan nfs_fh4, two ff_io_latency4, an nfstime4 and a bool.  A data server<br \/>\nwhose filehandle is NFS_MAXFHSIZE bytes long already accounts for 132 of<br \/>\nthose bytes, and the two ff_io_latency4 at 64 bytes each, the nfstime4<br \/>\nand the bool add a further 144, so the body passes 256 bytes before the<br \/>\nnetaddr4 is encoded at all.  encode_layoutstats() additionally writes<br \/>\nthe deviceid4 and the layoutupdate4 lou_type word, neither of which the<br \/>\nmacro accounts for.<\/p>\n<p>The filehandle and the address are both chosen by the server, through<br \/>\nLAYOUTGET and GETDEVICEINFO, so it can drive the encoder past the<br \/>\nend of the send buffer.  xdr_reserve_space() returns NULL once that<br \/>\nhappens, and the two ff_layout_encode_io_latency() calls run with<br \/>\ndss_info-&gt;mirror-&gt;lock held, so a NULL return there leaves the lock<br \/>\npermanently held.<\/p>\n<p>Raise PNFS_LAYOUTSTATS_MAXSIZE to 384 so that the record fits inside the<br \/>\nreservation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>NFSv4.2: fix LAYOUTSTATS send buffer exhaustion<\/p>\n<p>encode_layoutstats_maxsz budgets XDR_QUADLEN(PNFS_LAYOUTSTATS_MAXSIZE),<br \/>\ni.e. 256 b<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25512","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25512","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=25512"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25512"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}