{"id":29144,"date":"2026-09-25T20:31:58","date_gmt":"2026-09-25T12:31:58","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-97988"},"modified":"2026-09-25T20:31:58","modified_gmt":"2026-09-25T12:31:58","slug":"cve-2026-97988","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-97988","title":{"rendered":"CVE-2026-97988 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nvhost: invalidate vri"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>vhost: invalidate vring access on IOTLB transitions<\/p>\n<p>When VIRTIO_F_ACCESS_PLATFORM changes, cached vring pointers and IOTLB<br \/>\nmetadata are interpreted in a different address space. Keeping them<br \/>\nacross the transition can leave stale ring mappings in use.<\/p>\n<p>Clearing d-&gt;iotlb before taking the VQ locks also lets a worker observe<br \/>\na transient NULL d-&gt;iotlb and fall back to d-&gt;umem while translating a<br \/>\ndescriptor.<\/p>\n<p>Add a common vhost_clear_device_iotlb() helper for vhost-net and<br \/>\nvhost-vsock. Take all VQ mutexes in index order before dropping the<br \/>\ndevice-wide IOTLB, invalidate each VQ&#8217;s cached ring access and metadata,<br \/>\nclear pending IOTLB messages, and free the old table after the handoff.<br \/>\nThis serializes the transition with workers and prevents mixed address<br \/>\nspace mappings.<\/p>\n<p>On the first direct-to-IOTLB transition, invalidate the cached vring<br \/>\naddresses. When an existing device IOTLB is replaced, preserve the<br \/>\nGIOVA ring addresses and reset only the metadata cache. After clearing<br \/>\nACCESS_PLATFORM, userspace must configure the vring addresses for the<br \/>\nnew address mode.<\/p>\n<p>vhost_vq_invalidate_access() clears desc, avail, and used together.<br \/>\nTreat the VQ as invalidated only when all three are NULL, since a single<br \/>\nGIOVA address may legitimately be zero.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>vhost: invalidate vring access on IOTLB transitions<\/p>\n<p>When VIRTIO_F_ACCESS_PLATFORM changes, cached vring pointers and IOTLB<br \/>\nmetadat<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-29144","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/29144","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=29144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}