Lucene search

K
vulnrichmentLinuxVULNRICHMENT:CVE-2021-47140
HistoryMar 25, 2024 - 9:07 a.m.

CVE-2021-47140 iommu/amd: Clear DMA ops when switching domain

2024-03-2509:07:38
Linux
github.com
1
linux kernel
vulnerability
iommu/amd
amd iommu
dma ops

6.8 Medium

AI Score

Confidence

Low

0.0004 Low

EPSS

Percentile

9.1%

In the Linux kernel, the following vulnerability has been resolved:

iommu/amd: Clear DMA ops when switching domain

Since commit 08a27c1c3ecf (“iommu: Add support to change default domain
of an iommu group”) a user can switch a device between IOMMU and direct
DMA through sysfs. This doesn’t work for AMD IOMMU at the moment because
dev->dma_ops is not cleared when switching from a DMA to an identity
IOMMU domain. The DMA layer thus attempts to use the dma-iommu ops on an
identity domain, causing an oops:

echo 0000:00:05.0 > /sys/sys/bus/pci/drivers/e1000e/unbind

echo identity > /sys/bus/pci/devices/0000:00:05.0/iommu_group/type

echo 0000:00:05.0 > /sys/sys/bus/pci/drivers/e1000e/bind


BUG: kernel NULL pointer dereference, address: 0000000000000028

Call Trace:
iommu_dma_alloc
e1000e_setup_tx_resources
e1000e_open

Since iommu_change_dev_def_domain() calls probe_finalize() again, clear
the dma_ops there like Vt-d does.

CNA Affected

[
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "unaffected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "drivers/iommu/amd/iommu.c"
    ],
    "versions": [
      {
        "version": "08a27c1c3ecf",
        "lessThan": "f3f2cf46291a",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "08a27c1c3ecf",
        "lessThan": "d6177a6556f8",
        "status": "affected",
        "versionType": "git"
      }
    ]
  },
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "affected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "drivers/iommu/amd/iommu.c"
    ],
    "versions": [
      {
        "version": "5.11",
        "status": "affected"
      },
      {
        "version": "0",
        "lessThan": "5.11",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "5.12.9",
        "lessThanOrEqual": "5.12.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "5.13",
        "lessThanOrEqual": "*",
        "status": "unaffected",
        "versionType": "original_commit_for_fix"
      }
    ]
  }
]

6.8 Medium

AI Score

Confidence

Low

0.0004 Low

EPSS

Percentile

9.1%

Related for VULNRICHMENT:CVE-2021-47140