# CVE-2026-31587: ASoC: qcom: q6apm: move component registration to unmanaged version

CVE-2026-31587 is fixed in 16 products on 1 platform, first by DEBIAN-CVE-2026-31587, released May 15, 2026. It is not reported as exploited. Patch Radar priority: High.

- Web page: https://patchblox.com/security/cve/CVE-2026-31587
- Priority: High
- CVSS: 7.8 (Moderate)
- EPSS: 0.0013
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Apr 24, 2026
- Vendor advisory: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-31587

## Description

In the Linux kernel, the following vulnerability has been resolved:  ASoC: qcom: q6apm: move component registration to unmanaged version  q6apm component registers dais dynamically from ASoC toplology, which are allocated using device managed version apis. Allocating both component and dynamic dais using managed version could lead to incorrect free ordering, dai will be freed while component still holding references to it.  Fix this issue by moving component to unmanged version so that the dai pointers are only freeded after the component is removed.  ================================================================== BUG: KASAN: slab-use-after-free in snd_soc_del_component_unlocked+0x3d4/0x400 [snd_soc_core] Read of size 8 at addr ffff00084493a6e8 by task kworker/u48:0/3426 Tainted: [W]=WARN Hardware name: LENOVO 21N2ZC5PUS/21N2ZC5PUS, BIOS N42ET57W (1.31 ) 08/08/2024 Workqueue: pdr_notifier_wq pdr_notifier_work [pdr_interface] Call trace:  show_stack+0x28/0x7c (C)  dump_stack_lvl+0x60/0x80  print_report+0x160/0x4b4  kasan_report+0xac/0xfc  __asan_report_load8_noabort+0x20/0x34  snd_soc_del_component_unlocked+0x3d4/0x400 [snd_soc_core]  snd_soc_unregister_component_by_driver+0x50/0x88 [snd_soc_core]  devm_component_release+0x30/0x5c [snd_soc_core]  devres_release_all+0x13c/0x210  device_unbind_cleanup+0x20/0x190  device_release_driver_internal+0x350/0x468  device_release_driver+0x18/0x30  bus_remove_device+0x1a0/0x35c  device_del+0x314/0x7f0  device_unregister+0x20/0xbc  apr_remove_device+0x5c/0x7c [apr]  device_for_each_child+0xd8/0x160  apr_pd_status+0x7c/0xa8 [apr]  pdr_notifier_work+0x114/0x240 [pdr_interface]  process_one_work+0x500/0xb70  worker_thread+0x630/0xfb0  kthread+0x370/0x6c0  ret_from_fork+0x10/0x20  Allocated by task 77:  kasan_save_stack+0x40/0x68  kasan_save_track+0x20/0x40  kasan_save_alloc_info+0x44/0x58  __kasan_kmalloc+0xbc/0xdc  __kmalloc_node_track_caller_noprof+0x1f4/0x620  devm_kmalloc+0x7c/0x1c8  snd_soc_register_dai+0x50/0x4f0 [snd_soc_core]  soc_tplg_pcm_elems_load+0x55c/0x1eb8 [snd_soc_core]  snd_soc_tplg_component_load+0x4f8/0xb60 [snd_soc_core]  audioreach_tplg_init+0x124/0x1fc [snd_q6apm]  q6apm_audio_probe+0x10/0x1c [snd_q6apm]  snd_soc_component_probe+0x5c/0x118 [snd_soc_core]  soc_probe_component+0x44c/0xaf0 [snd_soc_core]  snd_soc_bind_card+0xad0/0x2370 [snd_soc_core]  snd_soc_register_card+0x3b0/0x4c0 [snd_soc_core]  devm_snd_soc_register_card+0x50/0xc8 [snd_soc_core]  x1e80100_platform_probe+0x208/0x368 [snd_soc_x1e80100]  platform_probe+0xc0/0x188  really_probe+0x188/0x804  __driver_probe_device+0x158/0x358  driver_probe_device+0x60/0x190  __device_attach_driver+0x16c/0x2a8  bus_for_each_drv+0x100/0x194  __device_attach+0x174/0x380  device_initial_probe+0x14/0x20  bus_probe_device+0x124/0x154  deferred_probe_work_func+0x140/0x220  process_one_work+0x500/0xb70  worker_thread+0x630/0xfb0  kthread+0x370/0x6c0  ret_from_fork+0x10/0x20  Freed by task 3426:  kasan_save_stack+0x40/0x68  kasan_save_track+0x20/0x40  __kasan_save_free_info+0x4c/0x80  __kasan_slab_free+0x78/0xa0  kfree+0x100/0x4a4  devres_release_all+0x144/0x210  device_unbind_cleanup+0x20/0x190  device_release_driver_internal+0x350/0x468  device_release_driver+0x18/0x30  bus_remove_device+0x1a0/0x35c  device_del+0x314/0x7f0  device_unregister+0x20/0xbc  apr_remove_device+0x5c/0x7c [apr]  device_for_each_child+0xd8/0x160  apr_pd_status+0x7c/0xa8 [apr]  pdr_notifier_work+0x114/0x240 [pdr_interface]  process_one_work+0x500/0xb70  worker_thread+0x630/0xfb0  kthread+0x370/0x6c0  ret_from_fork+0x10/0x20

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | dtb-aarch64 opensuse-leap 16.0 | 6.12.0-160000.37.1 | [OPENSUSE-SU-2026:21555-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21555-1.md) | Aug 12, 2026 |
| Linux | kernel-64kb opensuse-leap 16.0 | 6.12.0-160000.37.1 | [OPENSUSE-SU-2026:21555-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21555-1.md) | Aug 12, 2026 |
| Linux | kernel-64kb sles 15.7 | 6.4.0-150700.53.73.2 | [SUSE-SU-2026:3166-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-3166-1.md) | Jul 21, 2026 |
| Linux | kernel-64kb sles 16.0 | 6.12.0-160000.37.1 | [SUSE-SU-2026:23231-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-23231-1.md) | Aug 11, 2026 |
| Linux | kernel-azure opensuse-leap 16.0 | 6.12.0-160000.37.1 | [OPENSUSE-SU-2026:21555-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21555-1.md) | Aug 12, 2026 |
| Linux | kernel-azure sles 15.7 | 6.4.0-150700.53.73.2 | [SUSE-SU-2026:3166-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-3166-1.md) | Jul 21, 2026 |
| Linux | kernel-azure sles 16.0 | 6.12.0-160000.37.1 | [SUSE-SU-2026:23231-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-23231-1.md) | Aug 11, 2026 |
| Linux | kernel-default opensuse-leap 16.0 | 6.12.0-160000.37.1 | [OPENSUSE-SU-2026:21555-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21555-1.md) | Aug 12, 2026 |
| Linux | kernel-default sles 15.7 | 6.4.0-150700.53.73.2 | [SUSE-SU-2026:3166-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-3166-1.md) | Jul 21, 2026 |
| Linux | kernel-default sles 16.0 | 6.12.0-160000.37.1 | [SUSE-SU-2026:23237-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-23237-1.md) | Aug 11, 2026 |
| Linux | kernel-default-base opensuse-leap 16.0 | 6.12.0-160000.37.1.160000.2.19 | [OPENSUSE-SU-2026:21555-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21555-1.md) | Aug 12, 2026 |
| Linux | kernel-default-base sles 15.7 | 6.4.0-150700.53.73.2.150700.17.41.4 | [SUSE-SU-2026:3166-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-3166-1.md) | Jul 21, 2026 |
| Linux | kernel-default-base sles 16.0 | 6.12.0-160000.37.1.160000.2.19 | [SUSE-SU-2026:23231-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-23231-1.md) | Aug 11, 2026 |
| Linux | kernel-docs opensuse-leap 16.0 | 6.12.0-160000.37.1 | [OPENSUSE-SU-2026:21555-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21555-1.md) | Aug 12, 2026 |
| Linux | kernel-docs sles 15.7 | 6.4.0-150700.53.73.1 | [SUSE-SU-2026:3166-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-3166-1.md) | Jul 21, 2026 |
| Linux | kernel-docs sles 16.0 | 6.12.0-160000.37.1 | [SUSE-SU-2026:23231-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-23231-1.md) | Aug 11, 2026 |
| Linux | kernel-kvmsmall opensuse-leap 16.0 | 6.12.0-160000.37.1 | [OPENSUSE-SU-2026:21555-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21555-1.md) | Aug 12, 2026 |
| Linux | kernel-kvmsmall sles 16.0 | 6.12.0-160000.37.1 | [SUSE-SU-2026:23231-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-23231-1.md) | Aug 11, 2026 |
| Linux | kernel-livepatch-SLE15-SP7-RT_Update_18 sles 15.7 | 1-150700.1.5.1 | [SUSE-SU-2026:3130-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-3130-1.md) | Jul 20, 2026 |
| Linux | kernel-livepatch-SLE15-SP7_Update_19 sles 15.7 | 1-150700.15.3.4 | [SUSE-SU-2026:3166-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-3166-1.md) | Jul 21, 2026 |
| Linux | kernel-obs-build opensuse-leap 16.0 | 6.12.0-160000.37.1 | [OPENSUSE-SU-2026:21555-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21555-1.md) | Aug 12, 2026 |
| Linux | kernel-obs-build sles 15.7 | 6.4.0-150700.53.73.2 | [SUSE-SU-2026:3166-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-3166-1.md) | Jul 21, 2026 |
| Linux | kernel-obs-qa opensuse-leap 16.0 | 6.12.0-160000.37.1 | [OPENSUSE-SU-2026:21555-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21555-1.md) | Aug 12, 2026 |
| Linux | kernel-obs-qa sles 16.0 | 6.12.0-160000.37.1 | [SUSE-SU-2026:23231-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-23231-1.md) | Aug 11, 2026 |
| Linux | kernel-rt opensuse-leap 16.0 | 6.12.0-160000.37.1 | [OPENSUSE-SU-2026:21555-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21555-1.md) | Aug 12, 2026 |
| Linux | kernel-source opensuse-leap 16.0 | 6.12.0-160000.37.1 | [OPENSUSE-SU-2026:21555-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21555-1.md) | Aug 12, 2026 |
| Linux | kernel-source sles 15.7 | 6.4.0-150700.53.73.1 | [SUSE-SU-2026:3166-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-3166-1.md) | Jul 21, 2026 |
| Linux | kernel-source sles 16.0 | 6.12.0-160000.37.1 | [SUSE-SU-2026:23231-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-23231-1.md) | Aug 11, 2026 |
| Linux | kernel-syms opensuse-leap 16.0 | 6.12.0-160000.37.1 | [OPENSUSE-SU-2026:21555-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21555-1.md) | Aug 12, 2026 |
| Linux | kernel-syms sles 15.7 | 6.4.0-150700.53.73.1 | [SUSE-SU-2026:3166-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-3166-1.md) | Jul 21, 2026 |
| Linux | kernel-syms sles 16.0 | 6.12.0-160000.37.1 | [SUSE-SU-2026:23231-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-23231-1.md) | Aug 11, 2026 |
| Linux | kernel-zfcpdump opensuse-leap 16.0 | 6.12.0-160000.37.1 | [OPENSUSE-SU-2026:21555-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21555-1.md) | Aug 12, 2026 |
| Linux | kernel-zfcpdump sles 15.7 | 6.4.0-150700.53.73.2 | [SUSE-SU-2026:3166-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-3166-1.md) | Jul 21, 2026 |
| Linux | kernel-zfcpdump sles 16.0 | 6.12.0-160000.37.1 | [SUSE-SU-2026:23231-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-23231-1.md) | Aug 11, 2026 |
| Linux | linux Debian 12.15 (bookworm) | 6.1.176-1 | [DEBIAN-CVE-2026-31587](https://patchblox.com/security/data/fix/linux/debian-cve-2026-31587.md) | May 15, 2026 |
| Linux | linux Debian 13.5 (trixie) | 6.12.85-1 | [DEBIAN-CVE-2026-31587](https://patchblox.com/security/data/fix/linux/debian-cve-2026-31587.md) | May 15, 2026 |
| Linux | linux Debian 14 | 6.19.14-1 | [DEBIAN-CVE-2026-31587](https://patchblox.com/security/data/fix/linux/debian-cve-2026-31587.md) | May 15, 2026 |

---

Data as of 2026-11-09T01:18:40Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.
