{"id":"CVE-2026-43096","state":"PUBLISHED","title":"mshv: Fix infinite fault loop on permission-denied GPA intercepts","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nmshv: Fix infinite fault loop on permission-denied GPA intercepts\n\nPrevent infinite fault loops when guests access memory regions without\nproper permissions. Currently, mshv_handle_gpa_intercept() attempts to\nremap pages for all faults on movable memory regions, regardless of\nwhether the access type is permitted. When a guest writes to a read-only\nregion, the remap succeeds but the region remains read-only, causing\nimmediate re-fault and spinning the vCPU indefinitely.\n\nValidate intercept access type against region permissions before\nattempting remaps. Reject writes to non-writable regions and executes to\nnon-executable regions early, returning false to let the VMM handle the\nintercept appropriately.\n\nThis also closes a potential DoS vector where malicious guests could\nintentionally trigger these fault loops to consume host resources.","publishedAt":"2026-05-06T07:40:27.453Z","updatedAt":"2026-05-11T22:17:39.132Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"b9a66cd5ccbb9fade15d0e427e19470d8ad35b75","status":"affected","lessThan":"02226839079ccc558820a3b25c4c46812927b4ba","versionType":"git"},{"version":"b9a66cd5ccbb9fade15d0e427e19470d8ad35b75","status":"affected","lessThan":"16cbec24897624051b324aa3a85859c38ca65fde","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hv/mshv_root_main.c","include/hyperv/hvgdk_mini.h","include/hyperv/hvhdk.h"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.19","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.19","versionType":"semver"},{"version":"6.19.14","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hv/mshv_root_main.c","include/hyperv/hvgdk_mini.h","include/hyperv/hvhdk.h"]}],"references":["https://git.kernel.org/stable/c/02226839079ccc558820a3b25c4c46812927b4ba","https://git.kernel.org/stable/c/16cbec24897624051b324aa3a85859c38ca65fde"],"weaknesses":[],"ingestedAt":"2026-10-29T20:11:57.932Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/43xxx/CVE-2026-43096.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-43096","state":"PUBLISHED","datePublished":"2026-05-06T07:40:27.453Z","dateUpdated":"2026-05-11T22:17:39.132Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-05-01T14:12:55.984Z"},"containers":{"cna":{"title":"mshv: Fix infinite fault loop on permission-denied GPA intercepts","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmshv: Fix infinite fault loop on permission-denied GPA intercepts\n\nPrevent infinite fault loops when guests access memory regions without\nproper permissions. Currently, mshv_handle_gpa_intercept() attempts to\nremap pages for all faults on movable memory regions, regardless of\nwhether the access type is permitted. When a guest writes to a read-only\nregion, the remap succeeds but the region remains read-only, causing\nimmediate re-fault and spinning the vCPU indefinitely.\n\nValidate intercept access type against region permissions before\nattempting remaps. Reject writes to non-writable regions and executes to\nnon-executable regions early, returning false to let the VMM handle the\nintercept appropriately.\n\nThis also closes a potential DoS vector where malicious guests could\nintentionally trigger these fault loops to consume host resources."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"b9a66cd5ccbb9fade15d0e427e19470d8ad35b75","status":"affected","lessThan":"02226839079ccc558820a3b25c4c46812927b4ba","versionType":"git"},{"version":"b9a66cd5ccbb9fade15d0e427e19470d8ad35b75","status":"affected","lessThan":"16cbec24897624051b324aa3a85859c38ca65fde","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hv/mshv_root_main.c","include/hyperv/hvgdk_mini.h","include/hyperv/hvhdk.h"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.19","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.19","versionType":"semver"},{"version":"6.19.14","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hv/mshv_root_main.c","include/hyperv/hvgdk_mini.h","include/hyperv/hvhdk.h"]}],"references":[{"url":"https://git.kernel.org/stable/c/02226839079ccc558820a3b25c4c46812927b4ba"},{"url":"https://git.kernel.org/stable/c/16cbec24897624051b324aa3a85859c38ca65fde"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T22:17:39.132Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.19","versionEndExcluding":"6.19.14"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.19","versionEndExcluding":"7.0"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}