CVE-2026-74261: ALSA: seq: avoid stale FIFO cells during resize

Published Aug 15, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

ALSA: seq: avoid stale FIFO cells during resize

sndseqfiforesize() still needs to publish the replacement pool before it waits for FIFO users. A blocking sndseqread() holds f->uselock while it sleeps, so concurrent senders must be able to queue to the new pool and wake that reader instead of failing against a closing old pool.

However, sndseqfifoeventin() duplicates an event before it takes f->lock, and sndseqread() can dequeue a cell and later call sndseqfifocellputback() if copytouser() or sndseqexpandvarevent() fails. If resize swaps f->pool and detaches oldhead in between, either path can relink an old-pool cell after the snapshot. That stale cell sits outside the drained oldhead list, keeps oldpool->counter elevated, and can leave sndseqpooldelete() waiting for the retired pool to drain.

Keep the existing swap-before-wait ordering in sndseqfiforesize(), but reject stale cells before any FIFO relink. Revalidate event-in cells under f->lock and retry them against the published replacement pool, and free stale putback cells instead of linking them back into the FIFO.

The buggy scenario involves two paths, with each column showing the order within that path:

resize path: relink path: 1. Allocate newpool. 1. Take f->uselock. 2. Swap f->pool to newpool and 2. Duplicate or dequeue an old-pool detach oldhead. cell before oldpool closes. 3. Mark oldpool closing and 3. Reach a later relink point after wait for FIFO users. resize published newpool. 4. Free oldhead and delete 4. Relink the old-pool cell after oldpool. resize detached oldhead. 5. Drop f->uselock.

The reproducer reports a resize ioctl blocked in the expected pool teardown path:

signal: resize iteration=98 targetpool=4 exceeded 250ms (elapsed=251ms) diagnostic: resizetid=651 wchan=sndseqpooldone diagnostic: resizetid=651 stack= sndseqpooldone+0x5b/0x140 sndseqpooldelete+0x7a/0x90 sndseqfiforesize+0x193/0x1e0 sndseqioctlsetclientpool+0x214/0x260 sndseqioctl+0x119/0x540 x64sysioctl+0xd1/0x120 dosyscall64+0xbb/0x2f0 entrySYSCALL64afterhwframe+0x77/0x7f

A second run with larger pools hit the same target path:

signal: resize iteration=32 targetpool=64 exceeded 250ms (elapsed=251ms) diagnostic: resizetid=663 wchan=sndseqpooldone diagnostic: resizetid=663 stack= sndseqpooldone+0x5b/0x140 sndseqpooldelete+0x7a/0x90 sndseqfiforesize+0x193/0x1e0 sndseqioctlsetclientpool+0x214/0x260 sndseqioctl+0x119/0x540 x64sysioctl+0xd1/0x120 dosyscall64+0xbb/0x2f0 entrySYSCALL64afterhwframe+0x77/0x7f

Affected Software

1 affected component
Linux Kernel ALSA sequencer (snd_seq_fifo)

Event History

Aug 15, 2026
CVE Published
via MITRE·05:57 AM
Data Sourced
via MITRE·05:57 AM
Description
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-74261?

The severity of CVE-2026-74261 is rated at risk level 23.

2

How do I fix CVE-2026-74261?

To fix CVE-2026-74261, update your Linux Kernel to a version that contains the resolution for this vulnerability.

3

What systems are affected by CVE-2026-74261?

CVE-2026-74261 affects systems utilizing the ALSA sequencer within the Linux Kernel.

4

What is the impact of CVE-2026-74261?

CVE-2026-74261 could lead to stale FIFO cell issues during resizing, potentially disrupting the ALSA sequencer operations.

5

When was CVE-2026-74261 published?

CVE-2026-74261 was published on August 15, 2026.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203