{"id":"CVE-2026-43459","revision":"bc9c33b8ab1a410dbd5f06fddc4d5f12","records":[{"revision":"bc9c33b8ab1a410dbd5f06fddc4d5f12","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-43459","aliases":[],"title":"ASoC: soc-core: flush delayed work before removing DAIs and widgets","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: soc-core: flush delayed work before removing DAIs and widgets\n\nWhen a sound card is unbound while a PCM stream is open, a\nuse-after-free can occur in snd_soc_dapm_stream_event(), called from\nthe close_delayed_work workqueue handler.\n\nDuring unbind, snd_soc_unbind_card() flushes delayed work and then\ncalls soc_cleanup_card_resources(). Inside cleanup,\nsnd_card_disconnect_sync() releases all PCM file descriptors, and\nthe resulting PCM close path can call snd_soc_dapm_stream_stop()\nwhich schedules new delayed work with a pmdown_time timer delay.\nSince this happens after the flush in snd_soc_unbind_card(), the\nnew work is not caught. soc_remove_link_components() then frees\nDAPM widgets before this work fires, leading to the use-after-free.\n\nThe existing flush in soc_free_pcm_runtime() also cannot help as it\nruns after soc_remove_link_components() has already freed the widgets.\n\nAdd a flush in soc_cleanup_card_resources() after\nsnd_card_disconnect_sync() (after which no new PCM closes can\nschedule further delayed work) and before soc_remove_link_dais()\nand soc_remove_link_components() (which tear down the structures the\ndelayed work accesses).","state":0,"publishedAt":"2026-05-08T14:22:22.651+00:00","modifiedAt":"2026-10-19T19:26:37.236+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"sound/soc/soc-core.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"e894efef9ac7c10b7727798dcc711cccf07569f9\",\n                            \"lessThan\": \"bf80a89da97285d9b877e0c6995e870d46b8025c\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"e894efef9ac7c10b7727798dcc711cccf07569f9\",\n                            \"lessThan\": \"3887e514978d28216246360b46a9cb534969eb5a\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"e894efef9ac7c10b7727798dcc711cccf07569f9\",\n                            \"lessThan\": \"231568afbc0cd25b8fb2a94ebf9738eabe1cf007\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"e894efef9ac7c10b7727798dcc711cccf07569f9\",\n                            \"lessThan\": \"317a9298c54bb00319da73e5a7179f00e67fcbdf\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"e894efef9ac7c10b7727798dcc711cccf07569f9\",\n                            \"lessThan\": \"eab71e11ce2447c1e01809cbc11eab4234cf8dc8\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"e894efef9ac7c10b7727798dcc711cccf07569f9\",\n                            \"lessThan\": \"7d33e6140945482a07f8089ee86e13e02553ffdb\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"e894efef9ac7c10b7727798dcc711cccf07569f9\",\n                            \"lessThan\": \"c054f0607c8bb1b1aa529bc109e4149298a1cccd\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"e894efef9ac7c10b7727798dcc711cccf07569f9\",\n                            \"lessThan\": \"95bc5c225513fc3c4ce169563fb5e3929fbb938b\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"sound/soc/soc-core.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"4.20\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"4.20\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.253\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.203\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.167\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.130\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.78\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.19\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.19.9\",\n                            \"lessThanOrEqual\": \"6.19.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.0\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H","score":7.3,"severity":"HIGH"}],"references":["https://git.kernel.org/stable/c/bf80a89da97285d9b877e0c6995e870d46b8025c","https://git.kernel.org/stable/c/3887e514978d28216246360b46a9cb534969eb5a","https://git.kernel.org/stable/c/231568afbc0cd25b8fb2a94ebf9738eabe1cf007","https://git.kernel.org/stable/c/317a9298c54bb00319da73e5a7179f00e67fcbdf","https://git.kernel.org/stable/c/eab71e11ce2447c1e01809cbc11eab4234cf8dc8","https://git.kernel.org/stable/c/7d33e6140945482a07f8089ee86e13e02553ffdb","https://git.kernel.org/stable/c/c054f0607c8bb1b1aa529bc109e4149298a1cccd","https://git.kernel.org/stable/c/95bc5c225513fc3c4ce169563fb5e3929fbb938b"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-43459","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-43459","identifiers":["CVE-2026-43459"]},"retained":false,"historicalAffected":[]}],"coverage":[]}