{"schema":"threatline.record/2","record":{"id":"CVE-2026-74580","aliases":[],"summary":"vhost: reset the vring metadata cache on vring reconfiguration","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nvhost: reset the vring metadata cache on vring reconfiguration\n\nvq->meta_iotlb[] caches the vhost_iotlb_map that backs each vring\nmetadata region, and iotlb_access_ok() returns early on a cache hit,\ntaking the hit as proof that the region has already been validated:\n\n\tif (vhost_vq_meta_fetch(vq, addr, len, type))\n\t\treturn true;\n\nThe cache is reset on VHOST_IOTLB_UPDATE and VHOST_IOTLB_INVALIDATE, on\ndevice IOTLB (re)initialisation and on vq reset, but not when\nVHOST_SET_VRING_ADDR replaces vq->desc, vq->avail and vq->used, nor when\nVHOST_SET_VRING_NUM changes the region sizes.\n\nWith a device IOTLB attached both ioctls are accepted while the vq is\nlive, and neither validates the addresses at ioctl time: vq_access_ok()\nand vq_log_used_access_ok() return true early because the addresses are\nGIOVAs, deferring validation to prefetch time.  Once the cache has been\npopulated that deferred validation no longer runs -- vq_meta_prefetch()\nhits the stale entry and returns true -- and vhost_vq_meta_fetch() keeps\ntranslating through the old mapping as\n\n\tmap->addr + addr - map->start\n\nfor an address the mapping no longer covers.  vhost_copy_to_user() and\nvhost_copy_from_user() consume the result with __copy_to_user() and\n__copy_from_user(), which do not check it either, so a subsequent used\nring update or descriptor fetch accesses memory outside the region the\nIOTLB actually maps.\n\nReset the metadata cache whenever the vring is reconfigured, so the new\naddresses are pushed back through iotlb_access_ok()'s slow path.","categories":["Operating systems"],"product":"Linux","vendor":"Linux","ecosystem":null,"affected_ranges":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-74580","source_modified_at":"2026-10-16T19:05:57.882Z","fetched_at":"2026-10-25T16:01:37.004770Z","product":"Linux","vendor":"Linux","versions":[{"version":"f889491380582b4ba2981cf0b0d7d6a40fb30ab7","lessThan":"5224bd37e37d36076a550d99b2aebba33939fd95","status":"affected","versionType":"git"},{"version":"f889491380582b4ba2981cf0b0d7d6a40fb30ab7","lessThan":"54617e9119be2eb728ecdd8d977b99c99d4c498a","status":"affected","versionType":"git"},{"version":"f889491380582b4ba2981cf0b0d7d6a40fb30ab7","lessThan":"13fa6f32a56a386a82bd7451644c494beed034af","status":"affected","versionType":"git"},{"version":"f889491380582b4ba2981cf0b0d7d6a40fb30ab7","lessThan":"cf363a7a02ce132ef1f58084fdb13e1a3b7da7e7","status":"affected","versionType":"git"},{"version":"f889491380582b4ba2981cf0b0d7d6a40fb30ab7","lessThan":"6fa3e9b1fe856259555a7e22f3f3082e7827fd9b","status":"affected","versionType":"git"},{"version":"f889491380582b4ba2981cf0b0d7d6a40fb30ab7","lessThan":"f1e21108e3ddfcce62f6cad4ebd7b5674543c9e6","status":"affected","versionType":"git"},{"version":"f889491380582b4ba2981cf0b0d7d6a40fb30ab7","lessThan":"b70ebe0bba254e093dd5fd4c0c170941ce83eb85","status":"affected","versionType":"git"},{"version":"f889491380582b4ba2981cf0b0d7d6a40fb30ab7","lessThan":"de845981da67a6b049080c87e605130b0c30adc5","status":"affected","versionType":"git"}],"defaultStatus":"unaffected"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-74580","source_modified_at":"2026-10-16T19:05:57.882Z","fetched_at":"2026-10-25T16:01:37.004770Z","product":"Linux","vendor":"Linux","versions":[{"version":"4.11","status":"affected"},{"version":"0","lessThan":"4.11","status":"unaffected","versionType":"semver"},{"version":"5.10.265","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.216","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.183","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.152","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.104","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.45","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.1.9","lessThanOrEqual":"7.1.*","status":"unaffected","versionType":"semver"},{"version":"7.2","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}],"defaultStatus":"affected"}],"fixed_versions":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-74580","source_modified_at":"2026-10-16T19:05:57.882Z","fetched_at":"2026-10-25T16:01:37.004770Z","package":{"name":"Linux","ecosystem":null},"version":"5224bd37e37d36076a550d99b2aebba33939fd95","basis":"first unaffected version stated in the CVE record"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-74580","source_modified_at":"2026-10-16T19:05:57.882Z","fetched_at":"2026-10-25T16:01:37.004770Z","package":{"name":"Linux","ecosystem":null},"version":"54617e9119be2eb728ecdd8d977b99c99d4c498a","basis":"first unaffected version stated in the CVE record"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-74580","source_modified_at":"2026-10-16T19:05:57.882Z","fetched_at":"2026-10-25T16:01:37.004770Z","package":{"name":"Linux","ecosystem":null},"version":"13fa6f32a56a386a82bd7451644c494beed034af","basis":"first unaffected version stated in the CVE record"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-74580","source_modified_at":"2026-10-16T19:05:57.882Z","fetched_at":"2026-10-25T16:01:37.004770Z","package":{"name":"Linux","ecosystem":null},"version":"6fa3e9b1fe856259555a7e22f3f3082e7827fd9b","basis":"first unaffected version stated in the CVE record"}],"cvss":8.8,"severity":"High","kev":{"listed":false},"epss":{"probability":0.00243,"percentile":0.15387,"score_date":"2026-10-25"},"published_at":"2026-08-21T16:31:54.076Z","modified_at":"2026-10-16T19:05:57.882Z","provenance":[{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-74580","fetched_at":"2026-10-25T16:01:37.004770Z","source_modified_at":"2026-10-16T19:05:57.882Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-74580","fetched_at":"2026-10-25T16:01:37.004770Z","source_modified_at":"2026-10-25"}],"sources":["CVE List","EPSS"],"references":[{"source":"CVE List","url":"https://git.kernel.org/stable/c/5224bd37e37d36076a550d99b2aebba33939fd95"},{"source":"CVE List","url":"https://git.kernel.org/stable/c/54617e9119be2eb728ecdd8d977b99c99d4c498a"},{"source":"CVE List","url":"https://git.kernel.org/stable/c/13fa6f32a56a386a82bd7451644c494beed034af"},{"source":"CVE List","url":"https://git.kernel.org/stable/c/cf363a7a02ce132ef1f58084fdb13e1a3b7da7e7"},{"source":"CVE List","url":"https://git.kernel.org/stable/c/6fa3e9b1fe856259555a7e22f3f3082e7827fd9b"},{"source":"CVE List","url":"https://git.kernel.org/stable/c/f1e21108e3ddfcce62f6cad4ebd7b5674543c9e6"},{"source":"CVE List","url":"https://git.kernel.org/stable/c/b70ebe0bba254e093dd5fd4c0c170941ce83eb85"},{"source":"CVE List","url":"https://git.kernel.org/stable/c/de845981da67a6b049080c87e605130b0c30adc5"}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","cvss_source":"CVE List","ssvc":{"exploitation":"none","automatable":"no","technical_impact":"total","assessed_at":"2026-10-16T19:01:06.371046Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":"product","confidence":"heuristic","reviewed":false},"change_timestamp":"2026-10-16T19:05:57.882Z","content_hash":"cfdfe3dc3a1fdc93f8628c44da8a2f251246be062f6dad0cb999b8943eb1b16e"}}
