Bug 2513171 (CVE-2026-68200) - CVE-2026-68200 kernel: Linux kernel: ALSA timer use-after-free vulnerability allows privilege escalation
Summary: CVE-2026-68200 kernel: Linux kernel: ALSA timer use-after-free vulnerability ...
Keywords:
Status: NEW
Alias: CVE-2026-68200
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-08-10 12:23 UTC by OSIDB Bzimport
Modified: 2026-10-05 07:57 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2026:68507 0 None None None 2026-09-17 05:45:19 UTC
Red Hat Product Errata RHSA-2026:68570 0 None None None 2026-09-17 12:16:26 UTC

Description OSIDB Bzimport 2026-08-10 12:23:06 UTC
In the Linux kernel, the following vulnerability has been resolved:

ALSA: timer: don't re-enter an instance callback that is still running

The userspace-driven timer (utimer) TRIGGER ioctl calls
snd_timer_interrupt() directly with no serialization, so two threads
triggering the same utimer can run snd_timer_interrupt() on one
snd_timer concurrently.

snd_timer_process_callbacks() drops timer->lock around each instance
callback and marks the in-flight callback with the single
SNDRV_TIMER_IFLG_CALLBACK bit; snd_timer_close_locked() waits on that
bit to drain an in-flight callback before freeing the instance. The bit
cannot represent two concurrent callbacks: when a second interrupt
re-queues an instance whose callback is still running, both run at once,
the first to finish clears the bit, and the close-path drain then frees
the instance (and its callback_data) while the other callback is still
live - a use-after-free reachable by any user able to open
/dev/snd/timer, both via a user timer instance and via a sequencer queue
timer bound to the utimer.

snd_timer_interrupt() sets IFLG_CALLBACK before dropping timer->lock, so
a concurrent interrupt already observes it under the lock. Skip
re-queuing an instance (and its slaves) to the ack/sack list while its
callback is in flight; the accumulated pticks are delivered on the next
tick, so no event is lost.

Comment 10 Jon Orris 2026-09-17 05:45:18 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 10

Via RHSA-2026:68507 https://access.redhat.com/errata/RHSA-2026:68507

Comment 11 Jon Orris 2026-09-17 12:16:25 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9

Via RHSA-2026:68570 https://access.redhat.com/errata/RHSA-2026:68570


Note You need to log in before you can comment on or make changes to this bug.