Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-71162— dmaengine: tegra-adma: Fix use-after-free

EPSS 0.01% · P1
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2025-71162

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
dmaengine: tegra-adma: Fix use-after-free
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: dmaengine: tegra-adma: Fix use-after-free A use-after-free bug exists in the Tegra ADMA driver when audio streams are terminated, particularly during XRUN conditions. The issue occurs when the DMA buffer is freed by tegra_adma_terminate_all() before the vchan completion tasklet finishes accessing it. The race condition follows this sequence: 1. DMA transfer completes, triggering an interrupt that schedules the completion tasklet (tasklet has not executed yet) 2. Audio playback stops, calling tegra_adma_terminate_all() which frees the DMA buffer memory via kfree() 3. The scheduled tasklet finally executes, calling vchan_complete() which attempts to access the already-freed memory Since tasklets can execute at any time after being scheduled, there is no guarantee that the buffer will remain valid when vchan_complete() runs. Fix this by properly synchronizing the virtual channel completion: - Calling vchan_terminate_vdesc() in tegra_adma_stop() to mark the descriptors as terminated instead of freeing the descriptor. - Add the callback tegra_adma_synchronize() that calls vchan_synchronize() which kills any pending tasklets and frees any terminated descriptors. Crash logs: [ 337.427523] BUG: KASAN: use-after-free in vchan_complete+0x124/0x3b0 [ 337.427544] Read of size 8 at addr ffff000132055428 by task swapper/0/0 [ 337.427562] Call trace: [ 337.427564] dump_backtrace+0x0/0x320 [ 337.427571] show_stack+0x20/0x30 [ 337.427575] dump_stack_lvl+0x68/0x84 [ 337.427584] print_address_description.constprop.0+0x74/0x2b8 [ 337.427590] kasan_report+0x1f4/0x210 [ 337.427598] __asan_load8+0xa0/0xd0 [ 337.427603] vchan_complete+0x124/0x3b0 [ 337.427609] tasklet_action_common.constprop.0+0x190/0x1d0 [ 337.427617] tasklet_action+0x30/0x40 [ 337.427623] __do_softirq+0x1a0/0x5c4 [ 337.427628] irq_exit+0x110/0x140 [ 337.427633] handle_domain_irq+0xa4/0xe0 [ 337.427640] gic_handle_irq+0x64/0x160 [ 337.427644] call_on_irq_stack+0x20/0x4c [ 337.427649] do_interrupt_handler+0x7c/0x90 [ 337.427654] el1_interrupt+0x30/0x80 [ 337.427659] el1h_64_irq_handler+0x18/0x30 [ 337.427663] el1h_64_irq+0x7c/0x80 [ 337.427667] cpuidle_enter_state+0xe4/0x540 [ 337.427674] cpuidle_enter+0x54/0x80 [ 337.427679] do_idle+0x2e0/0x380 [ 337.427685] cpu_startup_entry+0x2c/0x70 [ 337.427690] rest_init+0x114/0x130 [ 337.427695] arch_call_rest_init+0x18/0x24 [ 337.427702] start_kernel+0x380/0x3b4 [ 337.427706] __primary_switched+0xc0/0xc8
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于DMA缓冲区在任务访问前被释放,可能导致释放后重用。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux f46b195799b5cb05338e7c44cb3617eacb56d755 ~ 5f8d1d66a952d0396671e1f21ff8127a4d14fb4e -
LinuxLinux 4.7 -

II. Public POCs for CVE-2025-71162

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-71162

登录查看更多情报信息。

Same Patch Batch · Linux · 2026-01-25 · 20 CVEs total

CVE-2026-230107.8 HIGHipv6: Fix use-after-free in inet6_addr_del().
CVE-2026-229997.8 HIGHnet/sched: sch_qfq: do not free existing class in qfq_change_class()
CVE-2026-230017.8 HIGHmacvlan: fix possible UAF in macvlan_forward_source()
CVE-2026-230047.8 HIGHdst: fix races in rt6_uncached_list_del() and rt_del_uncached_list()
CVE-2026-229977.5 HIGHnet: can: j1939: j1939_xtp_rx_rts_session_active(): deactivate session upon receiving the
CVE-2026-229987.5 HIGHnvme-tcp: fix NULL pointer dereferences in nvmet_tcp_build_pdu_iovec
CVE-2026-230037.5 HIGHip6_tunnel: use skb_vlan_inet_prepare() in __ip6_tnl_rcv()
CVE-2026-230137.0 HIGHnet: octeon_ep_vf: fix free_irq dev_id mismatch in IRQ rollback
CVE-2025-71163dmaengine: idxd: fix device leaks on compat bind and unbind
CVE-2026-22996net/mlx5e: Don't store mlx5e_priv in mlx5e_dev devlink priv
CVE-2026-23000net/mlx5e: Fix crash on profile change rollback failure
CVE-2026-23002lib/buildid: use __kernel_read() for sleepable context
CVE-2026-23005x86/fpu: Clear XSTATE_BV[i] in guest XSAVE state whenever XFD[i]=1
CVE-2026-23006ASoC: tlv320adcx140: fix null pointer
CVE-2026-23007block: zero non-PI portion of auto integrity buffer
CVE-2026-23008drm/vmwgfx: Fix KMS with 3D on HW version 10
CVE-2026-23009xhci: sideband: don't dereference freed ring when removing sideband endpoint
CVE-2026-23011ipv4: ip_gre: make ipgre_header() robust
CVE-2026-23012mm/damon/core: remove call_control in inactive contexts

IV. Related Vulnerabilities

V. Comments for CVE-2025-71162

No comments yet


Leave a comment