{"api_version":"1","generated_at":"2026-05-07T03:17:30+00:00","cve":"CVE-2026-43130","urls":{"html":"https://cve.report/CVE-2026-43130","api":"https://cve.report/api/cve/CVE-2026-43130.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-43130","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-43130"},"summary":{"title":"iommu/vt-d: Flush dev-IOTLB only when PCIe device is accessible in scalable mode","description":"In the Linux kernel, the following vulnerability has been resolved:\n\niommu/vt-d: Flush dev-IOTLB only when PCIe device is accessible in scalable mode\n\nCommit 4fc82cd907ac (\"iommu/vt-d: Don't issue ATS Invalidation\nrequest when device is disconnected\") relies on\npci_dev_is_disconnected() to skip ATS invalidation for\nsafely-removed devices, but it does not cover link-down caused\nby faults, which can still hard-lock the system.\n\nFor example, if a VM fails to connect to the PCIe device,\n\"virsh destroy\" is executed to release resources and isolate\nthe fault, but a hard-lockup occurs while releasing the group fd.\n\nCall Trace:\n qi_submit_sync\n qi_flush_dev_iotlb\n intel_pasid_tear_down_entry\n device_block_translation\n blocking_domain_attach_dev\n __iommu_attach_device\n __iommu_device_set_domain\n __iommu_group_set_domain_internal\n iommu_detach_group\n vfio_iommu_type1_detach_group\n vfio_group_detach_container\n vfio_group_fops_release\n __fput\n\nAlthough pci_device_is_present() is slower than\npci_dev_is_disconnected(), it still takes only ~70 µs on a\nConnectX-5 (8 GT/s, x2) and becomes even faster as PCIe speed\nand width increase.\n\nBesides, devtlb_invalidation_with_pasid() is called only in the\npaths below, which are far less frequent than memory map/unmap.\n\n1. mm-struct release\n2. {attach,release}_dev\n3. set/remove PASID\n4. dirty-tracking setup\n\nThe gain in system stability far outweighs the negligible cost\nof using pci_device_is_present() instead of pci_dev_is_disconnected()\nto decide when to skip ATS invalidation, especially under GDR\nhigh-load conditions.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-05-06 12:16:30","updated_at":"2026-05-06 13:07:51"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/ead67d0378e90f419e385a43af29435242d80c12","name":"https://git.kernel.org/stable/c/ead67d0378e90f419e385a43af29435242d80c12","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/581ce094d9eafb78ec4f9de77bd24b780c151236","name":"https://git.kernel.org/stable/c/581ce094d9eafb78ec4f9de77bd24b780c151236","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/01aed2f1d7cb8fdf4c60c5bb4727608cb82b401d","name":"https://git.kernel.org/stable/c/01aed2f1d7cb8fdf4c60c5bb4727608cb82b401d","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/10e60d87813989e20eac1f3eda30b3bae461e7f9","name":"https://git.kernel.org/stable/c/10e60d87813989e20eac1f3eda30b3bae461e7f9","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/e2c78c69f8faf2885ea4ceee08c71ac738f401a0","name":"https://git.kernel.org/stable/c/e2c78c69f8faf2885ea4ceee08c71ac738f401a0","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/0da6697e577023d8867c7beb2d16a22510e4eea9","name":"https://git.kernel.org/stable/c/0da6697e577023d8867c7beb2d16a22510e4eea9","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/9deaacc8dcaddb6ddc5b52e1e63b457450ec0f94","name":"https://git.kernel.org/stable/c/9deaacc8dcaddb6ddc5b52e1e63b457450ec0f94","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/9813306610d0d718c863aaa70928bf57d7570ec0","name":"https://git.kernel.org/stable/c/9813306610d0d718c863aaa70928bf57d7570ec0","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-43130","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-43130","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected f873b85ec762c5a6abe94a7ddb31df5d3ba07d85 581ce094d9eafb78ec4f9de77bd24b780c151236 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected d70f1c85113cd8c2aa8373f491ca5d1b22ec0554 e2c78c69f8faf2885ea4ceee08c71ac738f401a0 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 34a7b30f56d30114bf4d436e4dc793afe326fbcf ead67d0378e90f419e385a43af29435242d80c12 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 2b74b2a92e524d7c8dec8e02e95ecf18b667c062 01aed2f1d7cb8fdf4c60c5bb4727608cb82b401d git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4fc82cd907ac075648789cc3a00877778aa1838b 9813306610d0d718c863aaa70928bf57d7570ec0 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4fc82cd907ac075648789cc3a00877778aa1838b 9deaacc8dcaddb6ddc5b52e1e63b457450ec0f94 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4fc82cd907ac075648789cc3a00877778aa1838b 0da6697e577023d8867c7beb2d16a22510e4eea9 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4fc82cd907ac075648789cc3a00877778aa1838b 10e60d87813989e20eac1f3eda30b3bae461e7f9 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c04f2780919f20e2cc4846764221f5e802555868 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 025bc6b41e020aeb1e71f84ae3ffce945026de05 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.9","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.9 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.252 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.202 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.165 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.128 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.75 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.16 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.19.6 6.19.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0 * 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":["drivers/iommu/intel/pasid.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"581ce094d9eafb78ec4f9de77bd24b780c151236","status":"affected","version":"f873b85ec762c5a6abe94a7ddb31df5d3ba07d85","versionType":"git"},{"lessThan":"e2c78c69f8faf2885ea4ceee08c71ac738f401a0","status":"affected","version":"d70f1c85113cd8c2aa8373f491ca5d1b22ec0554","versionType":"git"},{"lessThan":"ead67d0378e90f419e385a43af29435242d80c12","status":"affected","version":"34a7b30f56d30114bf4d436e4dc793afe326fbcf","versionType":"git"},{"lessThan":"01aed2f1d7cb8fdf4c60c5bb4727608cb82b401d","status":"affected","version":"2b74b2a92e524d7c8dec8e02e95ecf18b667c062","versionType":"git"},{"lessThan":"9813306610d0d718c863aaa70928bf57d7570ec0","status":"affected","version":"4fc82cd907ac075648789cc3a00877778aa1838b","versionType":"git"},{"lessThan":"9deaacc8dcaddb6ddc5b52e1e63b457450ec0f94","status":"affected","version":"4fc82cd907ac075648789cc3a00877778aa1838b","versionType":"git"},{"lessThan":"0da6697e577023d8867c7beb2d16a22510e4eea9","status":"affected","version":"4fc82cd907ac075648789cc3a00877778aa1838b","versionType":"git"},{"lessThan":"10e60d87813989e20eac1f3eda30b3bae461e7f9","status":"affected","version":"4fc82cd907ac075648789cc3a00877778aa1838b","versionType":"git"},{"status":"affected","version":"c04f2780919f20e2cc4846764221f5e802555868","versionType":"git"},{"status":"affected","version":"025bc6b41e020aeb1e71f84ae3ffce945026de05","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/iommu/intel/pasid.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"6.9"},{"lessThan":"6.9","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.252","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.202","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.165","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.128","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.75","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.16","versionType":"semver"},{"lessThanOrEqual":"6.19.*","status":"unaffected","version":"6.19.6","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.0","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.252","versionStartIncluding":"5.10.214","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.202","versionStartIncluding":"5.15.153","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.165","versionStartIncluding":"6.1.83","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.128","versionStartIncluding":"6.6.23","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.75","versionStartIncluding":"6.9","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.16","versionStartIncluding":"6.9","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.19.6","versionStartIncluding":"6.9","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.0","versionStartIncluding":"6.9","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.7.11","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.8.2","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\niommu/vt-d: Flush dev-IOTLB only when PCIe device is accessible in scalable mode\n\nCommit 4fc82cd907ac (\"iommu/vt-d: Don't issue ATS Invalidation\nrequest when device is disconnected\") relies on\npci_dev_is_disconnected() to skip ATS invalidation for\nsafely-removed devices, but it does not cover link-down caused\nby faults, which can still hard-lock the system.\n\nFor example, if a VM fails to connect to the PCIe device,\n\"virsh destroy\" is executed to release resources and isolate\nthe fault, but a hard-lockup occurs while releasing the group fd.\n\nCall Trace:\n qi_submit_sync\n qi_flush_dev_iotlb\n intel_pasid_tear_down_entry\n device_block_translation\n blocking_domain_attach_dev\n __iommu_attach_device\n __iommu_device_set_domain\n __iommu_group_set_domain_internal\n iommu_detach_group\n vfio_iommu_type1_detach_group\n vfio_group_detach_container\n vfio_group_fops_release\n __fput\n\nAlthough pci_device_is_present() is slower than\npci_dev_is_disconnected(), it still takes only ~70 µs on a\nConnectX-5 (8 GT/s, x2) and becomes even faster as PCIe speed\nand width increase.\n\nBesides, devtlb_invalidation_with_pasid() is called only in the\npaths below, which are far less frequent than memory map/unmap.\n\n1. mm-struct release\n2. {attach,release}_dev\n3. set/remove PASID\n4. dirty-tracking setup\n\nThe gain in system stability far outweighs the negligible cost\nof using pci_device_is_present() instead of pci_dev_is_disconnected()\nto decide when to skip ATS invalidation, especially under GDR\nhigh-load conditions."}],"providerMetadata":{"dateUpdated":"2026-05-06T11:27:18.825Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/581ce094d9eafb78ec4f9de77bd24b780c151236"},{"url":"https://git.kernel.org/stable/c/e2c78c69f8faf2885ea4ceee08c71ac738f401a0"},{"url":"https://git.kernel.org/stable/c/ead67d0378e90f419e385a43af29435242d80c12"},{"url":"https://git.kernel.org/stable/c/01aed2f1d7cb8fdf4c60c5bb4727608cb82b401d"},{"url":"https://git.kernel.org/stable/c/9813306610d0d718c863aaa70928bf57d7570ec0"},{"url":"https://git.kernel.org/stable/c/9deaacc8dcaddb6ddc5b52e1e63b457450ec0f94"},{"url":"https://git.kernel.org/stable/c/0da6697e577023d8867c7beb2d16a22510e4eea9"},{"url":"https://git.kernel.org/stable/c/10e60d87813989e20eac1f3eda30b3bae461e7f9"}],"title":"iommu/vt-d: Flush dev-IOTLB only when PCIe device is accessible in scalable mode","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-43130","datePublished":"2026-05-06T11:27:18.825Z","dateReserved":"2026-05-01T14:12:55.988Z","dateUpdated":"2026-05-06T11:27:18.825Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-05-06 12:16:30","lastModifiedDate":"2026-05-06 13:07:51","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"43130","Ordinal":"1","Title":"iommu/vt-d: Flush dev-IOTLB only when PCIe device is accessible ","CVE":"CVE-2026-43130","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"43130","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\niommu/vt-d: Flush dev-IOTLB only when PCIe device is accessible in scalable mode\n\nCommit 4fc82cd907ac (\"iommu/vt-d: Don't issue ATS Invalidation\nrequest when device is disconnected\") relies on\npci_dev_is_disconnected() to skip ATS invalidation for\nsafely-removed devices, but it does not cover link-down caused\nby faults, which can still hard-lock the system.\n\nFor example, if a VM fails to connect to the PCIe device,\n\"virsh destroy\" is executed to release resources and isolate\nthe fault, but a hard-lockup occurs while releasing the group fd.\n\nCall Trace:\n qi_submit_sync\n qi_flush_dev_iotlb\n intel_pasid_tear_down_entry\n device_block_translation\n blocking_domain_attach_dev\n __iommu_attach_device\n __iommu_device_set_domain\n __iommu_group_set_domain_internal\n iommu_detach_group\n vfio_iommu_type1_detach_group\n vfio_group_detach_container\n vfio_group_fops_release\n __fput\n\nAlthough pci_device_is_present() is slower than\npci_dev_is_disconnected(), it still takes only ~70 µs on a\nConnectX-5 (8 GT/s, x2) and becomes even faster as PCIe speed\nand width increase.\n\nBesides, devtlb_invalidation_with_pasid() is called only in the\npaths below, which are far less frequent than memory map/unmap.\n\n1. mm-struct release\n2. {attach,release}_dev\n3. set/remove PASID\n4. dirty-tracking setup\n\nThe gain in system stability far outweighs the negligible cost\nof using pci_device_is_present() instead of pci_dev_is_disconnected()\nto decide when to skip ATS invalidation, especially under GDR\nhigh-load conditions.","Type":"Description","Title":"iommu/vt-d: Flush dev-IOTLB only when PCIe device is accessible "}]}}}