CVE-2026-43135该漏洞源于Linux内核中cx23885驱动程序在处理音频硬件参数时的逻辑缺陷。在snd_cx23885_hw_params()函数执行过程中,如果遇到错误并进入错误处理路径,代码未能正确调用cx23885_alsa_dma_unmap()函数。这导致此前通过cx23885_alsa_dma_map()获取的DMA映射资源未被释放。本地攻击者可利用此缺陷持续触发该错误路径,从而耗尽系统内核资源,最终导致系统拒绝服务。
该漏洞位于Linux内核媒体子系统的cx23885音频驱动代码中,具体涉及snd_cx23885_hw_params()函数的实现。该函数的主要职责是配置音频硬件参数并建立DMA(直接内存访问)映射以进行数据传输。在函数执行过程中,首先会调用cx23885_alsa_dma_map()申请并映射DMA缓冲区。然而,如果在后续操作中出现异常情况(例如分配连续内存失败),代码将跳转至错误处理路径退出。由于该错误处理路径中缺失了对cx23885_alsa_dma_unmap()函数的调用,导致之前申请的DMA资源未能正确释放。本地低权限攻击者可以通过特定的ioctl调用反复触发该错误路径,造成持续的内核资源泄漏,最终耗尽系统DMA资源导致拒绝服务。