CVE-2026-63929
Received Received - Intake

Memory Leak in Linux Kernel IIO Buffer

Vulnerability report for CVE-2026-63929, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-07-19

Last updated on: 2026-07-19

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: iio: buffer: Fix DMA fence leak in iio_buffer_enqueue_dmabuf() iio_buffer_enqueue_dmabuf() allocates a struct iio_dma_fence (104 bytes, kmalloc-128) via kmalloc_obj()+dma_fence_init(), which sets the initial kref to 1. It then calls dma_resv_add_fence() which takes a second reference (kref=2), and stores a raw pointer in block->fence. On the success path the function returns without calling dma_fence_put() to release the initial reference, so every buffer enqueue permanently leaks one kmalloc-128 allocation. The iio_buffer_cleanup() work item only releases the temporary reference taken during completion signalling by iio_buffer_signal_dmabuf_done(); the initial reference from dma_fence_init() is never released. With four iio_rwdev instances at 240kHz and 512 samples per buffer, this produces ~1875 kmalloc-128 allocations per second matching the observed slab growth exactly. A test with ftrace confirmed that the dma_fence_destroy event was never triggered. Fix by calling dma_fence_put() after dma_resv_add_fence(), transferring ownership of the fence to the DMA reservation object. The DMA fence then gets properly discarded after being signalled.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-19
Last Modified
2026-07-19
Generated
2026-07-20
AI Q&A
2026-07-19
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a memory leak vulnerability in the Linux kernel's IIO (Industrial I/O) subsystem. When processing DMA buffers, the function iio_buffer_enqueue_dmabuf() allocates a DMA fence object but fails to properly release it. The initial reference count is set to 1 but never decremented, causing a permanent leak of 104-byte allocations.

Detection Guidance

This vulnerability is specific to the Linux kernel's IIO (Industrial I/O) subsystem and involves a memory leak in DMA fence handling. Detection requires checking for unusual slab memory growth in kmalloc-128 caches, particularly when IIO devices are active. Use commands like 'cat /proc/slabinfo | grep kmalloc-128' to monitor slab usage and 'dmesg | grep iio' to check for IIO-related errors.

Impact Analysis

The vulnerability causes gradual memory exhaustion as leaked allocations accumulate. This can lead to system performance degradation, increased latency, or eventual out-of-memory conditions. Systems with high-frequency IIO device usage are particularly affected.

Compliance Impact

This vulnerability causes a memory leak in the Linux kernel's IIO buffer subsystem due to improper DMA fence handling. While it does not directly impact data privacy or security, it could lead to system instability or resource exhaustion in environments subject to GDPR or HIPAA compliance. Persistent memory leaks may violate availability requirements under these regulations, potentially affecting system reliability for data processing.

Mitigation Strategies

Apply the kernel patch that fixes the DMA fence leak in iio_buffer_enqueue_dmabuf(). Update to a Linux kernel version that includes the fix. If immediate patching is not possible, consider disabling affected IIO devices or limiting their usage until the patch is applied.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-63929. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart