{"id":"CVE-2026-90214","state":"PUBLISHED","title":"ASoC: xilinx: formatter_pcm: fix stream_data leak on open error","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: xilinx: formatter_pcm: fix stream_data leak on open error\n\nIn xlnx_formatter_pcm_open(), stream_data is allocated and\nadata->play_stream or adata->capture_stream is assigned early.  If a\nlater step, such as snd_pcm_hw_constraint_step() or\nsnd_pcm_hw_constraint_integer(), fails, the function returns the error\nimmediately.  ALSA does not call the close callback when open fails, so\nstream_data is leaked and the stream pointer is left dangling, pointing\nto a substream that ALSA frees.  A later interrupt would then call\nsnd_pcm_period_elapsed() on the freed substream.\n\nFree stream_data and clear the stream pointer on the error paths.","publishedAt":"2026-09-17T16:07:27.407Z","updatedAt":"2026-10-19T08:59:50.241Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"6f6c3c36f0917be24587eeba818ab4fdfcb5465a","status":"affected","lessThan":"5e1a2d9fff57f3a2b1a0f54d128d64245a253004","versionType":"git"},{"version":"6f6c3c36f0917be24587eeba818ab4fdfcb5465a","status":"affected","lessThan":"edf81b293cba1b00a5e71becf184414f6991a6ca","versionType":"git"},{"version":"6f6c3c36f0917be24587eeba818ab4fdfcb5465a","status":"affected","lessThan":"3fd89a51b8cfe788df67f54b716b305dd45b8468","versionType":"git"},{"version":"6f6c3c36f0917be24587eeba818ab4fdfcb5465a","status":"affected","lessThan":"8c38ae4a465691947977c25d10394da22a64a19f","versionType":"git"},{"version":"6f6c3c36f0917be24587eeba818ab4fdfcb5465a","status":"affected","lessThan":"9030aa4e14b704dc39ee208207cb65064020d857","versionType":"git"},{"version":"6f6c3c36f0917be24587eeba818ab4fdfcb5465a","status":"affected","lessThan":"8b30628dfc2b2fad3b55a9441776a226035045fa","versionType":"git"},{"version":"6f6c3c36f0917be24587eeba818ab4fdfcb5465a","status":"affected","lessThan":"4e0ce77df7d9808926719d7950a07fbad14ea9ef","versionType":"git"},{"version":"6f6c3c36f0917be24587eeba818ab4fdfcb5465a","status":"affected","lessThan":"b992511180e126150c6ad3580a6fd568c385f4c6","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/soc/xilinx/xlnx_formatter_pcm.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.1","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.1","versionType":"semver"},{"version":"5.10.270","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.221","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.188","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.157","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.110","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.52","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.6","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/soc/xilinx/xlnx_formatter_pcm.c"]}],"references":["https://git.kernel.org/stable/c/5e1a2d9fff57f3a2b1a0f54d128d64245a253004","https://git.kernel.org/stable/c/edf81b293cba1b00a5e71becf184414f6991a6ca","https://git.kernel.org/stable/c/3fd89a51b8cfe788df67f54b716b305dd45b8468","https://git.kernel.org/stable/c/8c38ae4a465691947977c25d10394da22a64a19f","https://git.kernel.org/stable/c/9030aa4e14b704dc39ee208207cb65064020d857","https://git.kernel.org/stable/c/8b30628dfc2b2fad3b55a9441776a226035045fa","https://git.kernel.org/stable/c/4e0ce77df7d9808926719d7950a07fbad14ea9ef","https://git.kernel.org/stable/c/b992511180e126150c6ad3580a6fd568c385f4c6"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:34.582Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/90xxx/CVE-2026-90214.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-90214","state":"PUBLISHED","datePublished":"2026-09-17T16:07:27.407Z","dateUpdated":"2026-10-19T08:59:50.241Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-11T19:38:34.793Z"},"containers":{"cna":{"title":"ASoC: xilinx: formatter_pcm: fix stream_data leak on open error","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: xilinx: formatter_pcm: fix stream_data leak on open error\n\nIn xlnx_formatter_pcm_open(), stream_data is allocated and\nadata->play_stream or adata->capture_stream is assigned early.  If a\nlater step, such as snd_pcm_hw_constraint_step() or\nsnd_pcm_hw_constraint_integer(), fails, the function returns the error\nimmediately.  ALSA does not call the close callback when open fails, so\nstream_data is leaked and the stream pointer is left dangling, pointing\nto a substream that ALSA frees.  A later interrupt would then call\nsnd_pcm_period_elapsed() on the freed substream.\n\nFree stream_data and clear the stream pointer on the error paths."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"6f6c3c36f0917be24587eeba818ab4fdfcb5465a","status":"affected","lessThan":"5e1a2d9fff57f3a2b1a0f54d128d64245a253004","versionType":"git"},{"version":"6f6c3c36f0917be24587eeba818ab4fdfcb5465a","status":"affected","lessThan":"edf81b293cba1b00a5e71becf184414f6991a6ca","versionType":"git"},{"version":"6f6c3c36f0917be24587eeba818ab4fdfcb5465a","status":"affected","lessThan":"3fd89a51b8cfe788df67f54b716b305dd45b8468","versionType":"git"},{"version":"6f6c3c36f0917be24587eeba818ab4fdfcb5465a","status":"affected","lessThan":"8c38ae4a465691947977c25d10394da22a64a19f","versionType":"git"},{"version":"6f6c3c36f0917be24587eeba818ab4fdfcb5465a","status":"affected","lessThan":"9030aa4e14b704dc39ee208207cb65064020d857","versionType":"git"},{"version":"6f6c3c36f0917be24587eeba818ab4fdfcb5465a","status":"affected","lessThan":"8b30628dfc2b2fad3b55a9441776a226035045fa","versionType":"git"},{"version":"6f6c3c36f0917be24587eeba818ab4fdfcb5465a","status":"affected","lessThan":"4e0ce77df7d9808926719d7950a07fbad14ea9ef","versionType":"git"},{"version":"6f6c3c36f0917be24587eeba818ab4fdfcb5465a","status":"affected","lessThan":"b992511180e126150c6ad3580a6fd568c385f4c6","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/soc/xilinx/xlnx_formatter_pcm.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.1","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.1","versionType":"semver"},{"version":"5.10.270","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.221","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.188","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.157","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.110","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.52","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.6","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/soc/xilinx/xlnx_formatter_pcm.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/5e1a2d9fff57f3a2b1a0f54d128d64245a253004"},{"url":"https://git.kernel.org/stable/c/edf81b293cba1b00a5e71becf184414f6991a6ca"},{"url":"https://git.kernel.org/stable/c/3fd89a51b8cfe788df67f54b716b305dd45b8468"},{"url":"https://git.kernel.org/stable/c/8c38ae4a465691947977c25d10394da22a64a19f"},{"url":"https://git.kernel.org/stable/c/9030aa4e14b704dc39ee208207cb65064020d857"},{"url":"https://git.kernel.org/stable/c/8b30628dfc2b2fad3b55a9441776a226035045fa"},{"url":"https://git.kernel.org/stable/c/4e0ce77df7d9808926719d7950a07fbad14ea9ef"},{"url":"https://git.kernel.org/stable/c/b992511180e126150c6ad3580a6fd568c385f4c6"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-19T08:59:50.241Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.1","versionEndExcluding":"5.10.270"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.1","versionEndExcluding":"5.15.221"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.1","versionEndExcluding":"6.1.188"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.1","versionEndExcluding":"6.6.157"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.1","versionEndExcluding":"6.12.110"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.1","versionEndExcluding":"6.18.52"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.1","versionEndExcluding":"7.2.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.1","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}