← Back to CVE Explorer

CVE-2026-90405

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: media: stm32: dcmi: fix some error handling bugs in probe() There are a few issues here: 1) After we assign: chan = dma_request_chan(&pdev->dev, "tx"); Then the error paths need to clean up before returning. The first error path does a direct return. 2) The error paths check "dcmi->mdma_chan" but that is not assigned until later so it results in memory leaks. Test "mdma_chan" instead. 3) The error handling calls dma_release_channel(dcmi->dma_chan) before "dcmi->dma_chan" has been assigned which leads to a NULL pointer dereference. Use the "chan" variable instead. I also moved the call to dma_release_channel() after the call to dma_release_channel() so it mirrors the allocation code better.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-17 17:17:40.357000
Last modified
2026-10-19 09:19:34.683000
View original CVE JSON
{
  "id": "CVE-2026-90405",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-09-17T17:17:40.357",
  "lastModified": "2026-10-19T09:19:34.683",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: stm32: dcmi: fix some error handling bugs in probe()\n\nThere are a few issues here:\n\n1) After we assign:\n        chan = dma_request_chan(&pdev->dev, \"tx\");\n   Then the error paths need to clean up before returning.  The first\n   error path does a direct return.\n2) The error paths check \"dcmi->mdma_chan\" but that is not assigned\n   until later so it results in memory leaks.  Test \"mdma_chan\"\n   instead.\n3) The error handling calls dma_release_channel(dcmi->dma_chan) before\n   \"dcmi->dma_chan\" has been assigned which leads to a NULL pointer\n   dereference.  Use the \"chan\" variable instead.\n\nI also moved the call to dma_release_channel() after the call to\ndma_release_channel() so it mirrors the allocation code better."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "drivers/media/platform/st/stm32/stm32-dcmi.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "bc901885fae0a0273288666609d143e960b6ad3a",
              "lessThan": "4d030d7d1af95d24d3eb6e536a4f09b7bf9a8659",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "bc901885fae0a0273288666609d143e960b6ad3a",
              "lessThan": "f1d1ed39ced825615aeac61f0b6a322178756632",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "drivers/media/platform/st/stm32/stm32-dcmi.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "7.1",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "7.1",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.6",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/4d030d7d1af95d24d3eb6e536a4f09b7bf9a8659",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/f1d1ed39ced825615aeac61f0b6a322178756632",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}