{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-74261",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2026-08-15T05:44:03.877Z",
        "datePublished": "2026-08-15T05:57:38.311Z",
        "dateUpdated": "2026-10-21T12:45:10.790Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-10-21T12:45:10.790Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: seq: avoid stale FIFO cells during resize\n\nsnd_seq_fifo_resize() still needs to publish the replacement pool\nbefore it waits for FIFO users. A blocking snd_seq_read() holds\nf->use_lock while it sleeps, so concurrent senders must be able to\nqueue to the new pool and wake that reader instead of failing against a\nclosing old pool.\n\nHowever, snd_seq_fifo_event_in() duplicates an event before it takes\nf->lock, and snd_seq_read() can dequeue a cell and later call\nsnd_seq_fifo_cell_putback() if copy_to_user() or\nsnd_seq_expand_var_event() fails. If resize swaps f->pool and detaches\noldhead in between, either path can relink an old-pool cell after the\nsnapshot. That stale cell sits outside the drained oldhead list, keeps\noldpool->counter elevated, and can leave snd_seq_pool_delete() waiting\nfor the retired pool to drain.\n\nKeep the existing swap-before-wait ordering in snd_seq_fifo_resize(),\nbut reject stale cells before any FIFO relink. Revalidate event-in cells\nunder f->lock and retry them against the published replacement pool, and\nfree stale putback cells instead of linking them back into the FIFO.\n\nThe buggy scenario involves two paths, with each column showing the\norder within that path:\n\nresize path:                    relink path:\n1. Allocate newpool.             1. Take f->use_lock.\n2. Swap f->pool to newpool and   2. Duplicate or dequeue an old-pool\n   detach oldhead.                  cell before oldpool closes.\n3. Mark oldpool closing and      3. Reach a later relink point after\n   wait for FIFO users.             resize published newpool.\n4. Free oldhead and delete       4. Relink the old-pool cell after\n   oldpool.                         resize detached oldhead.\n                                 5. Drop f->use_lock.\n\nThe reproducer reports a resize ioctl blocked in the expected pool\nteardown path:\n\nsignal: resize iteration=98 target_pool=4 exceeded 250ms\n        (elapsed=251ms)\ndiagnostic: resize_tid=651 wchan=snd_seq_pool_done\ndiagnostic: resize_tid=651 stack=\n  snd_seq_pool_done+0x5b/0x140\n  snd_seq_pool_delete+0x7a/0x90\n  snd_seq_fifo_resize+0x193/0x1e0\n  snd_seq_ioctl_set_client_pool+0x214/0x260\n  snd_seq_ioctl+0x119/0x540\n  __x64_sys_ioctl+0xd1/0x120\n  do_syscall_64+0xbb/0x2f0\n  entry_SYSCALL_64_after_hwframe+0x77/0x7f\n\nA second run with larger pools hit the same target path:\n\nsignal: resize iteration=32 target_pool=64 exceeded 250ms\n        (elapsed=251ms)\ndiagnostic: resize_tid=663 wchan=snd_seq_pool_done\ndiagnostic: resize_tid=663 stack=\n  snd_seq_pool_done+0x5b/0x140\n  snd_seq_pool_delete+0x7a/0x90\n  snd_seq_fifo_resize+0x193/0x1e0\n  snd_seq_ioctl_set_client_pool+0x214/0x260\n  snd_seq_ioctl+0x119/0x540\n  __x64_sys_ioctl+0xd1/0x120\n  do_syscall_64+0xbb/0x2f0\n  entry_SYSCALL_64_after_hwframe+0x77/0x7f"
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "sound/core/seq/seq_fifo.c"
                    ],
                    "versions": [
                        {
                            "version": "2d7d54002e396c180db0c800c1046f0a3c471597",
                            "lessThan": "ae429220c7f9747579bc4682c574585230e971cc",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "2d7d54002e396c180db0c800c1046f0a3c471597",
                            "lessThan": "dcf784abee6df2f5c47e36a1d9e400065993bc04",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "2d7d54002e396c180db0c800c1046f0a3c471597",
                            "lessThan": "98a965cb1e767b54b6bbd831b6cea26f521a8f51",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "2d7d54002e396c180db0c800c1046f0a3c471597",
                            "lessThan": "1c4c35fb68d520241f7d9f1c356b5e2370fd8364",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "2d7d54002e396c180db0c800c1046f0a3c471597",
                            "lessThan": "e546128291f8d688dcb931827e2efd2aa6c0734d",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "df7a2d0af9f7ab73cf22a7b62bbc0bad93a02110",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "28e0ebdd57cd3287ac821068364b74c70af3861c",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "d4b8e8a32d74052fe292618ae19f794944ddc673",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "e91325f27c4d98d1088e9e86b3ab475f752eeb80",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "9ebfed203c0d93449a074c5c2fd5bb3e58518f0d",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "3492352e1f34673708fa7409b4b1d97545aa2f1c",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "a90d7447e4a154ad26e3b9e09a0878680be49339",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "74a2c1ff88a4e0960623d17f7db56ac5a60bb0cf",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c36ef6467420f8982e6d4d6f93d0634a85a5ee45",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "3.2.91",
                            "lessThan": "3.3",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "3.10.107",
                            "lessThan": "3.11",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "3.12.73",
                            "lessThan": "3.13",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "3.16.46",
                            "lessThan": "3.17",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "3.18.50",
                            "lessThan": "3.19",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "4.1.40",
                            "lessThan": "4.2",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "4.4.60",
                            "lessThan": "4.5",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "4.9.21",
                            "lessThan": "4.10",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "4.10.9",
                            "lessThan": "4.11",
                            "status": "affected",
                            "versionType": "semver"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "sound/core/seq/seq_fifo.c"
                    ],
                    "versions": [
                        {
                            "version": "4.11",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "4.11",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.160",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.12.114",
                            "lessThanOrEqual": "6.12.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.18.40",
                            "lessThanOrEqual": "6.18.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "7.1.5",
                            "lessThanOrEqual": "7.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "7.2",
                            "lessThanOrEqual": "*",
                            "status": "unaffected",
                            "versionType": "original_commit_for_fix"
                        }
                    ]
                }
            ],
            "cpeApplicability": [
                {
                    "nodes": [
                        {
                            "operator": "OR",
                            "negate": false,
                            "cpeMatch": [
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.11",
                                    "versionEndExcluding": "6.6.160"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.11",
                                    "versionEndExcluding": "6.12.114"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.11",
                                    "versionEndExcluding": "6.18.40"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.11",
                                    "versionEndExcluding": "7.1.5"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.11",
                                    "versionEndExcluding": "7.2"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "3.2.91"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "3.10.107"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "3.12.73"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "3.16.46"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "3.18.50"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.1.40"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.4.60"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.9.21"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.10.9"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/ae429220c7f9747579bc4682c574585230e971cc"
                },
                {
                    "url": "https://git.kernel.org/stable/c/dcf784abee6df2f5c47e36a1d9e400065993bc04"
                },
                {
                    "url": "https://git.kernel.org/stable/c/98a965cb1e767b54b6bbd831b6cea26f521a8f51"
                },
                {
                    "url": "https://git.kernel.org/stable/c/1c4c35fb68d520241f7d9f1c356b5e2370fd8364"
                },
                {
                    "url": "https://git.kernel.org/stable/c/e546128291f8d688dcb931827e2efd2aa6c0734d"
                }
            ],
            "title": "ALSA: seq: avoid stale FIFO cells during resize",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        }
    }
}