CVE-2025-71162CVE-2025-71162是Linux内核中Tegra ADMA(异步直接内存访问)驱动的一个高危安全漏洞,CVSS评分7.8。该漏洞属于释放后重用(Use-after-Free)类型,存在于音频流终止过程中,特别是在XRUN条件下。攻击者可通过本地低权限账户触发此漏洞,导致内存破坏,最终可能实现权限提升或在系统上执行任意代码。此漏洞影响所有使用Tegra ADMA驱动的Linux设备,包括NVIDIA Jetson系列开发板及基于Tegra SoC的嵌入式系统。
漏洞根因在于tegra_adma_terminate_all()函数在tasklet完成访问DMA缓冲区之前就释放了该内存。具体时序如下:1) DMA传输完成触发中断,调度vchan completion tasklet(tasklet等待执行);2) 音频播放停止,调用tegra_adma_terminate_all()通过kfree()释放DMA缓冲区;3) 调度中的tasklet最终执行,调用vchan_complete()访问已释放内存。修复方案包括:在tegra_adma_stop()中调用vchan_terminate_vdesc()标记描述符为已终止状态而非直接释放;添加tegra_adma_synchronize()回调函数调用vchan_synchronize()来终止挂起的tasklet并释放已终止描述符。KASAN报告确认了use-after-free错误发生在vchan_complete函数中,读取大小为8字节。