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.
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"
}
]
}