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

dmaengine: fix use-after-free in dma_chan_put() and dma_release_channel()

When dma_device_put() drops the last reference on chan->device->ref,
dma_device_release() runs and may free the dma_device along with its
channels.

dma_chan_put() then still reads chan->device->owner via
dma_chan_to_owner() for the trailing module_put(). KASAN catches it:

slab-use-after-free in dma_chan_put+0x3e6/0x4c0
Read of size 8 by task insmod/6319
Freed by task 6319:
kfree+0x225/0x470
dma_chan_put+0x395/0x4c0
dmaengine_put+0xf8/0x160

Cache the module owner in dma_chan_put() before the put so the trailing
module_put() does not need chan->device.
Published: 2026-10-06
Score: 7.0 High
EPSS: < 1% Very Low
KEV: No
Impact: Arbitrary Kernel Code Execution
Action: Immediate Patch
AI Analysis

Impact

A use-after-free bug in the Linux kernel's DMA engine occurs when dma_device_put() removes the last reference on the dma_device, causing dma_device_release() to free the dma_device and its channels. Subsequently, dma_chan_put() still accesses the now-freed dma_device structure to read the module owner, which results in a memory corruption that KASAN detects. This flaw allows an attacker to execute arbitrary code in kernel space by triggering a DMA channel dereference after the device has been released.

Affected Systems

Any Linux kernel version that contains the unpatched implementations of dma_chan_put and dma_release_channel is affected; detailed version information is not supplied, but the fix applies to kernels before the patch commit referenced in the advisory.

Risk and Exploitability

Based on the description, the flaw can be triggered by a process that creates a DMA channel that subsequently becomes freed by dma_device_put(), leading to a use-after-free in dma_chan_put(). The likely attack vector is user-space or kernel modules that manage DMA channels. Although the EPSS score is below 1% and the vulnerability is not listed in CISA's KEV catalog, use-after-free bugs in the kernel are high-severity (CVSS 7.0) and may allow an attacker to execute arbitrary code or crash the system.

Generated by OpenCVE AI on October 11, 2026 at 04:33 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the kernel to a version that incorporates the patch commit.
  • If a kernel upgrade cannot be applied immediately, compile the kernel with the DMA engine disabled or unload unused dmaengine modules to remove the vulnerable functions.
  • Restrict user space programs from requesting DMA channels unless they are trusted, and ensure that any custom DMA drivers validate device ownership before use.

Generated by OpenCVE AI on October 11, 2026 at 04:33 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4841-1 linux security update
Debian DLA Debian DLA DLA-4850-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6568-1 linux security update
History

Sun, 11 Oct 2026 02:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sun, 11 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.0, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'}

threat_severity

Moderate


Wed, 07 Oct 2026 04:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Tue, 06 Oct 2026 19:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Tue, 06 Oct 2026 14:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Tue, 06 Oct 2026 09:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: dmaengine: fix use-after-free in dma_chan_put() and dma_release_channel() When dma_device_put() drops the last reference on chan->device->ref, dma_device_release() runs and may free the dma_device along with its channels. dma_chan_put() then still reads chan->device->owner via dma_chan_to_owner() for the trailing module_put(). KASAN catches it: slab-use-after-free in dma_chan_put+0x3e6/0x4c0 Read of size 8 by task insmod/6319 Freed by task 6319: kfree+0x225/0x470 dma_chan_put+0x395/0x4c0 dmaengine_put+0xf8/0x160 Cache the module owner in dma_chan_put() before the put so the trailing module_put() does not need chan->device.
Title dmaengine: fix use-after-free in dma_chan_put() and dma_release_channel()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-19T09:17:54.287Z

Reserved: 2026-09-25T10:25:14.343Z

Link: CVE-2026-98343

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-06T09:18:27.163

Modified: 2026-10-19T10:18:36.690

Link: CVE-2026-98343

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-06T00:00:00Z

Links: CVE-2026-98343 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-11T04:45:17Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference