{"api_version":"1","generated_at":"2026-10-01T03:09:23+00:00","cve":"CVE-2026-98164","urls":{"html":"https://cve.report/CVE-2026-98164","api":"https://cve.report/api/cve/CVE-2026-98164.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-98164","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-98164"},"summary":{"title":"KVM: x86/mmu: Check write tracking in all address spaces","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: x86/mmu: Check write tracking in all address spaces\n\nkvm_gfn_is_write_tracked() checks only the supplied memslot, but page\ntracking is per-address-space and shadow pages are shared across all\naddress spaces.  With SMM, a GFN can therefore be write-tracked in one\naddress space and appear untracked through the other.\n\nCheck the supplied slot first, then the slot for the other address space.\nThis ensures all callers honor write tracking regardless of the active\naddress space.  In particular, it prevents mmu_try_to_unsync_pages() from\nmarking an upper-level shadow page unsync and eventually triggering the\nBUG in pte_list_remove().\n\n[invert direction of the conditional. - Paolo]","state":"PUBLISHED","assigner":"Linux","published_at":"2026-09-29 13:17:53","updated_at":"2026-09-30 14:10:59"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/0f38453cdb2e17566ccb7c0f3dabd5bd21caca26","name":"https://git.kernel.org/stable/c/0f38453cdb2e17566ccb7c0f3dabd5bd21caca26","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/09aa68552d2542cc6c23edd1568ac265dc5d886f","name":"https://git.kernel.org/stable/c/09aa68552d2542cc6c23edd1568ac265dc5d886f","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/c0a9bd5fca0b5f2dea32b0fc31350e71e8648112","name":"https://git.kernel.org/stable/c/c0a9bd5fca0b5f2dea32b0fc31350e71e8648112","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/429b6f43b4d8c98988fdca99e02dc156134e3d77","name":"https://git.kernel.org/stable/c/429b6f43b4d8c98988fdca99e02dc156134e3d77","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/d8636c8f9f95d0fd1e2f6f1cad0d5757aa6f212a","name":"https://git.kernel.org/stable/c/d8636c8f9f95d0fd1e2f6f1cad0d5757aa6f212a","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/ec8fcaf354c1cbb36755d48e9f5a00c9591349e5","name":"https://git.kernel.org/stable/c/ec8fcaf354c1cbb36755d48e9f5a00c9591349e5","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-98164","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98164","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 699023e239658e62da6f42f47d31b54788521ec1 09aa68552d2542cc6c23edd1568ac265dc5d886f git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 699023e239658e62da6f42f47d31b54788521ec1 429b6f43b4d8c98988fdca99e02dc156134e3d77 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 699023e239658e62da6f42f47d31b54788521ec1 d8636c8f9f95d0fd1e2f6f1cad0d5757aa6f212a git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 699023e239658e62da6f42f47d31b54788521ec1 c0a9bd5fca0b5f2dea32b0fc31350e71e8648112 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 699023e239658e62da6f42f47d31b54788521ec1 ec8fcaf354c1cbb36755d48e9f5a00c9591349e5 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 699023e239658e62da6f42f47d31b54788521ec1 0f38453cdb2e17566ccb7c0f3dabd5bd21caca26 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4.2","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 4.2 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.187 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.156 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.108 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.49 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1.13 7.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["arch/x86/kvm/mmu/page_track.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"09aa68552d2542cc6c23edd1568ac265dc5d886f","status":"affected","version":"699023e239658e62da6f42f47d31b54788521ec1","versionType":"git"},{"lessThan":"429b6f43b4d8c98988fdca99e02dc156134e3d77","status":"affected","version":"699023e239658e62da6f42f47d31b54788521ec1","versionType":"git"},{"lessThan":"d8636c8f9f95d0fd1e2f6f1cad0d5757aa6f212a","status":"affected","version":"699023e239658e62da6f42f47d31b54788521ec1","versionType":"git"},{"lessThan":"c0a9bd5fca0b5f2dea32b0fc31350e71e8648112","status":"affected","version":"699023e239658e62da6f42f47d31b54788521ec1","versionType":"git"},{"lessThan":"ec8fcaf354c1cbb36755d48e9f5a00c9591349e5","status":"affected","version":"699023e239658e62da6f42f47d31b54788521ec1","versionType":"git"},{"lessThan":"0f38453cdb2e17566ccb7c0f3dabd5bd21caca26","status":"affected","version":"699023e239658e62da6f42f47d31b54788521ec1","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["arch/x86/kvm/mmu/page_track.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"4.2"},{"lessThan":"4.2","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.187","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.156","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.108","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.49","versionType":"semver"},{"lessThanOrEqual":"7.1.*","status":"unaffected","version":"7.1.13","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.2","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.187","versionStartIncluding":"4.2","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.156","versionStartIncluding":"4.2","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.108","versionStartIncluding":"4.2","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.49","versionStartIncluding":"4.2","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1.13","versionStartIncluding":"4.2","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2","versionStartIncluding":"4.2","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: x86/mmu: Check write tracking in all address spaces\n\nkvm_gfn_is_write_tracked() checks only the supplied memslot, but page\ntracking is per-address-space and shadow pages are shared across all\naddress spaces.  With SMM, a GFN can therefore be write-tracked in one\naddress space and appear untracked through the other.\n\nCheck the supplied slot first, then the slot for the other address space.\nThis ensures all callers honor write tracking regardless of the active\naddress space.  In particular, it prevents mmu_try_to_unsync_pages() from\nmarking an upper-level shadow page unsync and eventually triggering the\nBUG in pte_list_remove().\n\n[invert direction of the conditional. - Paolo]"}],"providerMetadata":{"dateUpdated":"2026-09-29T12:02:12.574Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/09aa68552d2542cc6c23edd1568ac265dc5d886f"},{"url":"https://git.kernel.org/stable/c/429b6f43b4d8c98988fdca99e02dc156134e3d77"},{"url":"https://git.kernel.org/stable/c/d8636c8f9f95d0fd1e2f6f1cad0d5757aa6f212a"},{"url":"https://git.kernel.org/stable/c/c0a9bd5fca0b5f2dea32b0fc31350e71e8648112"},{"url":"https://git.kernel.org/stable/c/ec8fcaf354c1cbb36755d48e9f5a00c9591349e5"},{"url":"https://git.kernel.org/stable/c/0f38453cdb2e17566ccb7c0f3dabd5bd21caca26"}],"title":"KVM: x86/mmu: Check write tracking in all address spaces","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-98164","datePublished":"2026-09-29T12:02:12.574Z","dateReserved":"2026-09-25T10:25:14.321Z","dateUpdated":"2026-09-29T12:02:12.574Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-29 13:17:53","lastModifiedDate":"2026-09-30 14:10:59","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"98164","Ordinal":"1","Title":"KVM: x86/mmu: Check write tracking in all address spaces","CVE":"CVE-2026-98164","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"98164","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: x86/mmu: Check write tracking in all address spaces\n\nkvm_gfn_is_write_tracked() checks only the supplied memslot, but page\ntracking is per-address-space and shadow pages are shared across all\naddress spaces.  With SMM, a GFN can therefore be write-tracked in one\naddress space and appear untracked through the other.\n\nCheck the supplied slot first, then the slot for the other address space.\nThis ensures all callers honor write tracking regardless of the active\naddress space.  In particular, it prevents mmu_try_to_unsync_pages() from\nmarking an upper-level shadow page unsync and eventually triggering the\nBUG in pte_list_remove().\n\n[invert direction of the conditional. - Paolo]","Type":"Description","Title":"KVM: x86/mmu: Check write tracking in all address spaces"}]}}}