CVE-2026-90426 (GCVE-0-2026-90426)

Vulnerability from cvelistv5 – Published: 2026-09-17 16:09 – Updated: 2026-09-17 16:09
VLAI
Title
iommu/tegra241-cmdqv: Free the error IRQ before tearing down VINTFs
Summary
In the Linux kernel, the following vulnerability has been resolved: iommu/tegra241-cmdqv: Free the error IRQ before tearing down VINTFs tegra241_cmdqv_remove() tears each VINTF down first, then calls free_irq(). Tearing a VINTF down frees vintf0 and clears cmdqv->vintfs[0]. An error in that window makes tegra241_cmdqv_isr() read the stale slot and hand it to tegra241_vintf0_handle_error(), which dereferences a NULL or freed pointer. Free the IRQ before tearing the VINTFs down. free_irq() waits for in-flight handlers to finish and blocks new ones, so no ISR can observe a VINTF as it is torn down. Note: a user-owned VINTF (viommu) could outlive this teardown, which unmaps cmdqv->base and frees cmdqv->vintfs, so a later viommu close then touches freed memory. This is neither introduced nor fixed here: a physical IOMMU is not a pluggable device, so iommufd by design holds no reference on the one behind a viommu, and this teardown is not expected while that viommu is still alive.
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 918eb5c856f6ce4cf93b4b38e4b5e156905c5943 , < 076a4f5b1fc2016b973a12bc2ebb9b730e5e1e48 (git)
Affected: 918eb5c856f6ce4cf93b4b38e4b5e156905c5943 , < 735698e81f798b4c02dcb6291ffbdd1b962c8c66 (git)
Affected: 918eb5c856f6ce4cf93b4b38e4b5e156905c5943 , < 421f5ab135cd4a1353891e5bf2602cfc3c01afc7 (git)
Affected: 918eb5c856f6ce4cf93b4b38e4b5e156905c5943 , < 61f0d437988e5730b04442f6a7d30a9907339f2a (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.12
Unaffected: 0 , < 6.12 (semver)
Unaffected: 6.12.110 , ≤ 6.12.* (semver)
Unaffected: 6.18.52 , ≤ 6.18.* (semver)
Unaffected: 7.2.6 , ≤ 7.2.* (semver)
Unaffected: 7.3-rc1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "076a4f5b1fc2016b973a12bc2ebb9b730e5e1e48",
              "status": "affected",
              "version": "918eb5c856f6ce4cf93b4b38e4b5e156905c5943",
              "versionType": "git"
            },
            {
              "lessThan": "735698e81f798b4c02dcb6291ffbdd1b962c8c66",
              "status": "affected",
              "version": "918eb5c856f6ce4cf93b4b38e4b5e156905c5943",
              "versionType": "git"
            },
            {
              "lessThan": "421f5ab135cd4a1353891e5bf2602cfc3c01afc7",
              "status": "affected",
              "version": "918eb5c856f6ce4cf93b4b38e4b5e156905c5943",
              "versionType": "git"
            },
            {
              "lessThan": "61f0d437988e5730b04442f6a7d30a9907339f2a",
              "status": "affected",
              "version": "918eb5c856f6ce4cf93b4b38e4b5e156905c5943",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.12"
            },
            {
              "lessThan": "6.12",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.110",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.52",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.110",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.52",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.6",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc1",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\niommu/tegra241-cmdqv: Free the error IRQ before tearing down VINTFs\n\ntegra241_cmdqv_remove() tears each VINTF down first, then calls free_irq().\nTearing a VINTF down frees vintf0 and clears cmdqv-\u003evintfs[0]. An error in\nthat window makes tegra241_cmdqv_isr() read the stale slot and hand it to\ntegra241_vintf0_handle_error(), which dereferences a NULL or freed pointer.\n\nFree the IRQ before tearing the VINTFs down. free_irq() waits for in-flight\nhandlers to finish and blocks new ones, so no ISR can observe a VINTF as it\nis torn down.\n\nNote: a user-owned VINTF (viommu) could outlive this teardown, which unmaps\ncmdqv-\u003ebase and frees cmdqv-\u003evintfs, so a later viommu close then touches\nfreed memory. This is neither introduced nor fixed here: a physical IOMMU\nis not a pluggable device, so iommufd by design holds no reference on the\none behind a viommu, and this teardown is not expected while that viommu is\nstill alive."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-17T16:09:48.460Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/076a4f5b1fc2016b973a12bc2ebb9b730e5e1e48"
        },
        {
          "url": "https://git.kernel.org/stable/c/735698e81f798b4c02dcb6291ffbdd1b962c8c66"
        },
        {
          "url": "https://git.kernel.org/stable/c/421f5ab135cd4a1353891e5bf2602cfc3c01afc7"
        },
        {
          "url": "https://git.kernel.org/stable/c/61f0d437988e5730b04442f6a7d30a9907339f2a"
        }
      ],
      "title": "iommu/tegra241-cmdqv: Free the error IRQ before tearing down VINTFs",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-90426",
    "datePublished": "2026-09-17T16:09:48.460Z",
    "dateReserved": "2026-09-11T19:38:34.814Z",
    "dateUpdated": "2026-09-17T16:09:48.460Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-90426",
      "date": "2026-09-29",
      "epss": "0.00209",
      "percentile": "0.09904"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "076a4f5b1fc2016b973a12bc2ebb9b730e5e1e48",
                    "status": "affected",
                    "version": "918eb5c856f6ce4cf93b4b38e4b5e156905c5943",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "735698e81f798b4c02dcb6291ffbdd1b962c8c66",
                    "status": "affected",
                    "version": "918eb5c856f6ce4cf93b4b38e4b5e156905c5943",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "421f5ab135cd4a1353891e5bf2602cfc3c01afc7",
                    "status": "affected",
                    "version": "918eb5c856f6ce4cf93b4b38e4b5e156905c5943",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "61f0d437988e5730b04442f6a7d30a9907339f2a",
                    "status": "affected",
                    "version": "918eb5c856f6ce4cf93b4b38e4b5e156905c5943",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.12"
                  },
                  {
                    "lessThan": "6.12",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.110",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.52",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.2.*",
                    "status": "unaffected",
                    "version": "7.2.6",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.3-rc1",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\niommu/tegra241-cmdqv: Free the error IRQ before tearing down VINTFs\n\ntegra241_cmdqv_remove() tears each VINTF down first, then calls free_irq().\nTearing a VINTF down frees vintf0 and clears cmdqv-\u003evintfs[0]. An error in\nthat window makes tegra241_cmdqv_isr() read the stale slot and hand it to\ntegra241_vintf0_handle_error(), which dereferences a NULL or freed pointer.\n\nFree the IRQ before tearing the VINTFs down. free_irq() waits for in-flight\nhandlers to finish and blocks new ones, so no ISR can observe a VINTF as it\nis torn down.\n\nNote: a user-owned VINTF (viommu) could outlive this teardown, which unmaps\ncmdqv-\u003ebase and frees cmdqv-\u003evintfs, so a later viommu close then touches\nfreed memory. This is neither introduced nor fixed here: a physical IOMMU\nis not a pluggable device, so iommufd by design holds no reference on the\none behind a viommu, and this teardown is not expected while that viommu is\nstill alive."
          }
        ],
        "id": "CVE-2026-90426",
        "lastModified": "2026-09-17T17:17:47.353",
        "metrics": {},
        "published": "2026-09-17T17:17:47.353",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/076a4f5b1fc2016b973a12bc2ebb9b730e5e1e48"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/421f5ab135cd4a1353891e5bf2602cfc3c01afc7"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/61f0d437988e5730b04442f6a7d30a9907339f2a"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/735698e81f798b4c02dcb6291ffbdd1b962c8c66"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-22T16:28:05Z",
      "cve": "CVE-2026-90426",
      "id": "CVE-2026-90426",
      "initial_release_date": "2026-09-22T16:28:05Z",
      "product_status:known_affected": "29",
      "product_status:known_not_affected": "318",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-90426",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-90426.json",
      "version": "2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…