{"id":29279,"date":"2026-09-25T20:32:19","date_gmt":"2026-09-25T12:32:19","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98125"},"modified":"2026-09-25T20:32:19","modified_gmt":"2026-09-25T12:32:19","slug":"cve-2026-98125","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98125","title":{"rendered":"CVE-2026-98125 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nsmb\/client: fix stale"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>smb\/client: fix stale page cache in insert\/collapse range<\/p>\n<p>smb3_insert_range() and smb3_collapse_range() use<br \/>\ntruncate_pagecache_range() to invalidate the affected page cache.<br \/>\nHowever, if off or old_eof is not page-aligned, the boundary pages are<br \/>\nonly partially zeroed and remain uptodate. As a result, the client may<br \/>\nreturn stale data after a successful insert\/collapse range operation.<\/p>\n<p>For example, with 4K pages:<\/p>\n<p>    page 0          page 1          page 2<br \/>\n    0&#8212;&#8212;4K       4K&#8212;&#8212;8K      8K&#8212;&#8212;12K<br \/>\n       ^                                ^<br \/>\n    off=2K                       old_eof=10K<\/p>\n<p>Page 1 is removed from the page cache, while the boundary pages are<br \/>\nonly partially zeroed. After COPYCHUNK moves the data on the server,<br \/>\nthese cached pages may still return stale data.<\/p>\n<p>This can be reproduced on a CIFS mount:<\/p>\n<p>    bash -c &#8216;<br \/>\n            FILE=\/mnt\/scratch\/repro<\/p>\n<p>            # Use a 6 KiB file so EOF is not page-aligned.<br \/>\n            dd if=\/dev\/urandom of=\/tmp\/src bs=1K count=6 status=none<\/p>\n<p>            # Expected: a 4 KiB hole followed by the original data.<br \/>\n            rm -f \/tmp\/expected<br \/>\n            truncate -s 4K \/tmp\/expected<br \/>\n            cat \/tmp\/src &gt;&gt; \/tmp\/expected<\/p>\n<p>            cp \/tmp\/src &#8220;$FILE&#8221;<\/p>\n<p>            # Prime the page cache before moving data on the server.<br \/>\n            cat &#8220;$FILE&#8221; &gt; \/dev\/null<\/p>\n<p>            fallocate &#8211;insert-range -o 0 -l 4K &#8220;$FILE&#8221;<\/p>\n<p>            if cmp -s \/tmp\/expected &#8220;$FILE&#8221;; then<br \/>\n                    echo &#8220;readback: OK&#8221;<br \/>\n            else<br \/>\n                    echo &#8220;readback: STALE DATA&#8221;<br \/>\n            fi<br \/>\n    &#8216;<\/p>\n<p>Fix this by writing back dirty data and discarding the page cache from<br \/>\nthe start of the page containing off to EOF before moving data on the<br \/>\nserver.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>smb\/client: fix stale page cache in insert\/collapse range<\/p>\n<p>smb3_insert_range() and smb3_collapse_range() use<br \/>\ntruncate_pagecache_ran<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-29279","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/29279","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=29279"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29279"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29279"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}