KernelScan.io

HIGH Introduced in 2.6.12

sound MtpavTimer UAF

CVE-2026-90116

CVSS 7.0 / 10.0 KernelScan AI

CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

01

In the Linux kernel, the following vulnerability has been resolved: ALSA: mtpav: shut down output timer before card teardown snd_mtpav_output_timer() rearms chip->timer while holding chip->spinlock and accesses the card-private mtpav state. snd_mtpav_free() currently takes the same lock and calls timer_delete() when the timer is active. This only removes a pending timer; it does not wait for a callback that is already running and does not prevent the callback from rearming the timer. A callback running on another CPU can therefore continue after snd_mtpav_free() releases the lock and access the card-private state while the card is being torn down. It can also rearm the timer after timer_delete() has returned. Call timer_shutdown_sync() without holding chip->spinlock. This waits for any running callback to finish and prevents further rearming before the card-private mtpav state is released.

02

Engine v0.6.0

Risk summary

A race condition in the ALSA mtpav MIDI driver allows a timer callback to continue accessing card-private data after the card teardown path has released its lock, resulting in a use-after-free. A local user with access to the audio device can trigger MIDI output to arm the timer; if the card is subsequently torn down (e.g., module unload or device removal), the still-running callback accesses freed memory. This can lead to kernel memory corruption, information disclosure, or a system crash.

Affectedsound/drivers/mtpav.c (ALSA mtpav driver)

Vulnerability analysis

The mtpav MIDI driver's output timer callback can continue running on another CPU after the card teardown path releases its spinlock, accessing card-private data that is being freed. The teardown path only deletes the pending timer without waiting for a callback already in progress, and the callback can rearm the timer after deletion, extending the race window. The fix replaces the non-blocking timer deletion with a synchronous shutdown call that waits for any running callback to finish and prevents further rearming before the card's private data is released. This vulnerability is reachable by a local user who can access the audio device to trigger MIDI output (arming the timer); the race fires when the card is subsequently torn down, which requires the mtpav module to be loaded on a system with MOTU MIDI Timepiece AV hardware.

03

BranchIntroducedFixed inPatch commit
6.122.6.126.12.114de75857ce374
6.182.6.126.18.52392c985c6b03
6.62.6.126.6.160793163e13402
7.22.6.127.2.61e16e8258152
mainline2.6.127.3c73cb5b7c159

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Affected — no CIP fix yet (latest 6.12.112-cip33)
cip/6.1Affected — no CIP fix yet (latest 6.1.189-cip61)
cip/6.1-rtAffected — no CIP fix yet (latest 6.1.189-cip61-rt32)
cip/5.10Affected — no CIP fix yet (latest 5.10.271-cip78)
cip/5.10-rtAffected — no CIP fix yet (latest 5.10.268-cip77-rt34)
cip/4.19Affected — no CIP fix yet (latest 4.19.325-cip136)
cip/4.19-rtAffected — no CIP fix yet (latest 4.19.325-cip136-rt50)
cip/4.4Affected — no CIP fix yet (latest 4.4.302-cip115)
cip/4.4-rtAffected — no CIP fix yet (latest 4.4.302-cip115-rt63)