KVM: x86/mmu: Check write tracking in all address spaces
In the Linux kernel, the following vulnerability has been resolved: KVM: x86/mmu: Check write tracking in all address spaces kvm_gfn_is_write_tracked() checks only the supplied memslot, but page tracking is per-address-space and shadow pages are shared across all address spaces. With SMM, a GFN can therefore be write-tracked in one address space and appear untracked through the other. Check the supplied slot first, then the slot for the other address space. This ensures all callers honor write tracking regardless of the active address space. In particular, it prevents mmu_try_to_unsync_pages() from marking an upper-level shadow page unsync and eventually triggering the BUG in pte_list_remove(). [invert direction of the conditional. - Paolo]
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 6.1.187, 6.12.108, 6.18.49, 6.6.156, 7.1.13
- CVEs
- CVE-2026-98164
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 5 Nov 2026, 02:05 UTC · Revision 1
Source evidence
KVM: x86/mmu: Check write tracking in all address spaces
core-osv · Original sourcePublished 29 Sept 2026, 12:02 UTC
In the Linux kernel, the following vulnerability has been resolved: KVM: x86/mmu: Check write tracking in all address spaces kvm_gfn_is_write_tracked() checks only the supplied memslot, but page tracking is per-address-space and shadow pages are shared across all address spaces. With SMM, a GFN can therefore be write-tracked in one address space and appear untracked through the other. Check the supplied slot first, then the slot for the other address space. This ensures all callers honor write tracking regardless of the active address space. In particular, it prevents mmu_try_to_unsync_pages() from marking an upper-level shadow page unsync and eventually triggering the BUG in pte_list_remove(). [invert direction of the conditional. - Paolo]
osv:CVE-2026-98164
Kernel
Fixed versions: 6.1.187, 6.6.156, 6.12.108, 6.18.49, 7.1.13
Complete source record
{
"id": "9726f285cac8b874f7c5d3e690b394749bc589946cf38a10bff5e0666dde9489",
"url": "https://osv.dev/vulnerability/CVE-2026-98164",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "KVM: x86/mmu: Check write tracking in all address spaces",
"summary": "In the Linux kernel, the following vulnerability has been resolved: KVM: x86/mmu: Check write tracking in all address spaces kvm_gfn_is_write_tracked() checks only the supplied memslot, but page tracking is per-address-space and shadow pages are shared across all address spaces. With SMM, a GFN can therefore be write-tracked in one address space and appear untracked through the other. Check the supplied slot first, then the slot for the other address space. This ensures all callers honor write tracking regardless of the active address space. In particular, it prevents mmu_try_to_unsync_pages() from marking an upper-level shadow page unsync and eventually triggering the BUG in pte_list_remove(). [invert direction of the conditional. - Paolo]",
"evidence": "osv:CVE-2026-98164",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "6.1.187",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.156",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.108",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.49",
"evidence": "/affected/1/ranges"
},
{
"value": "7.1.13",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "CVE-2026-98164",
"aliases": [
"CVE-2026-98164"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "699023e239658e62da6f42f47d31b54788521ec1"
},
{
"fixed": "09aa68552d2542cc6c23edd1568ac265dc5d886f"
},
{
"fixed": "429b6f43b4d8c98988fdca99e02dc156134e3d77"
},
{
"fixed": "d8636c8f9f95d0fd1e2f6f1cad0d5757aa6f212a"
},
{
"fixed": "c0a9bd5fca0b5f2dea32b0fc31350e71e8648112"
},
{
"fixed": "ec8fcaf354c1cbb36755d48e9f5a00c9591349e5"
},
{
"fixed": "0f38453cdb2e17566ccb7c0f3dabd5bd21caca26"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98164.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "4.2.0"
},
{
"fixed": "6.1.187"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.156"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.108"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.18.49"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.19.0"
},
{
"fixed": "7.1.13"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98164.json"
}
}
],
"modified": "2026-10-28T02:30:41.612413907Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/09aa68552d2542cc6c23edd1568ac265dc5d886f",
"https://git.kernel.org/stable/c/0f38453cdb2e17566ccb7c0f3dabd5bd21caca26",
"https://git.kernel.org/stable/c/429b6f43b4d8c98988fdca99e02dc156134e3d77",
"https://git.kernel.org/stable/c/c0a9bd5fca0b5f2dea32b0fc31350e71e8648112",
"https://git.kernel.org/stable/c/d8636c8f9f95d0fd1e2f6f1cad0d5757aa6f212a",
"https://git.kernel.org/stable/c/ec8fcaf354c1cbb36755d48e9f5a00c9591349e5",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98164.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-98164",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98164.json"
}
},
"related_cves": [
{
"value": "CVE-2026-98164",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 509341,
"published_at": "2026-09-29T12:02:12.574+00:00"
}