CVE-2026-23033
NoneCVSS
—
EPSS
0.2%
Published
Jan 31, 2026
CISA due date
—
Cloudanix analysis
A small programming mistake in one Linux driver can leave behind small pieces of memory when hardware setup fails, which over time might slowly use up system resources and affect stability.
- Exploitation
- Other
- Attacker needs
- Local User
- Complexity
- Theoretical
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Other
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Low
What it actually does
Resource leak of a dma_pool object allocated by dma_pool_create() when subsequent calls to dma_async_device_register() or of_dma_controller_register() fail during omap-dma driver probe, leaving the pool allocated without a matching dma_pool_destroy().
Why it matters to the business
Repeated probe failures on affected Linux systems can gradually exhaust kernel memory and DMA resources, potentially leading to degraded performance, allocation failures for other drivers, or eventual system instability in environments with frequent module reloads or hardware initialization errors.
How an attack unfolds
An attacker with the ability to induce repeated probe failures (for example through crafted device tree entries, hardware faults, or module unload/reload sequences) could trigger the leak path, slowly consuming kernel resources without triggering any explicit error handling or logging beyond the initial failure.
How to fix it
Update the Linux kernel to the commit 8d66cb05b8b76396387a7b3a91f9284225c87f04 or later that adds the missing dma_pool_destroy() calls in both error paths. Rebuild and deploy the fixed kernel image, then reboot affected systems. For systems that cannot be immediately updated, limit conditions that cause repeated probe failures by stabilizing hardware configuration and device tree entries.
How to confirm the fix worked
Inspect the omap-dma source for the presence of dma_pool_destroy() immediately after the failure returns from dma_async_device_register() and of_dma_controller_register(); verify the running kernel contains commit 8d66cb05b8b76396387a7b3a91f9284225c87f04 via kernel version or git log; monitor kernel memory statistics for stabilization after probe error injection tests.
Typical attack path
- Gain local access or ability to influence device enumeration and driver probing on a Linux system using omap-dma.
- Trigger repeated failure conditions in dma_async_device_register() or of_dma_controller_register() during probe.
- Repeat the failure sequence to accumulate leaked dma_pool allocations without corresponding destruction.
- Observe gradual kernel memory pressure or resource exhaustion affecting system stability.
How to detect it
Review kernel logs for repeated omap-dma probe failures followed by resource warnings; correlate with memory allocation counters or slab statistics showing growth in dma_pool objects without corresponding frees; examine dmesg or syslog for dma_pool_create() success without a matching destroy in error traces.
What your security team should do
- Prioritize kernel updates containing commit 8d66cb05b8b76396387a7b3a91f9284225c87f04 on all systems using omap-dma within the next maintenance window.
- Audit device tree and hardware configurations to reduce the likelihood of probe failures that exercise the leaky paths.
- Add kernel memory usage and dma_pool allocation monitoring to detect anomalous growth after driver reload events.
- Include the fixed commit identifier in automated kernel build and deployment pipelines to prevent regression.
The record
In the Linux kernel, the following vulnerability has been resolved: dmaengine: omap-dma: fix dma_pool resource leak in error paths The dma_pool created by dma_pool_create() is not destroyed when dma_async_device_register() or of_dma_controller_register() fails, causing a resource leak in the probe error paths. Add dma_pool_destroy() in both error paths to properly release the allocated dma_pool resource.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Linux | Kernel | 3.6.0 | 5.10.249 |
| openSUSE:Leap 16.0 | dtb-aarch64 | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-64kb | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-azure | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-default | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-default-base | 0 | 6.12.0-160000.27.1.160000.2.8 |
| openSUSE:Leap 16.0 | kernel-docs | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-kvmsmall | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-obs-build | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-obs-qa | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-rt | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-source | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-syms | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-zfcpdump | 0 | 6.12.0-160000.27.1 |
Related vulnerabilities
- CVE-2026-23226 In the Linux kernel, the following vulnerability has been resolved: ksmbd: add chann_lock… Also affects Kernel
- CVE-2026-23225 In the Linux kernel, the following vulnerability has been resolved: sched/mmcid: Don't… Also affects Kernel
- CVE-2026-23230 In the Linux kernel, the following vulnerability has been resolved: smb: client: split… Also affects Kernel
- CVE-2026-23224 In the Linux kernel, the following vulnerability has been resolved: erofs: fix UAF issue… Also affects Kernel
- CVE-2026-23227 In the Linux kernel, the following vulnerability has been resolved: drm/exynos: vidi: use… Also affects Kernel
- CVE-2026-23223 In the Linux kernel, the following vulnerability has been resolved: xfs: fix UAF in… Also affects Kernel
- CVE-2026-23228 In the Linux kernel, the following vulnerability has been resolved: smb: server: fix leak… Also affects Kernel
- CVE-2026-23229 In the Linux kernel, the following vulnerability has been resolved: crypto: virtio - Add… Also affects Kernel