製品・ソフトウェアに関する情報
LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性
Title LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性
Summary

Linuxカーネルにおいて、以下の脆弱性が修正されました。ASoC: soc-coreにて、DAIおよびウィジェットを削除する前に遅延ワークをフラッシュする問題です。PCMストリームが開いている間にサウンドカードがバインド解除されると、close_delayed_workワークキューのハンドラから呼び出されるsnd_soc_dapm_stream_event()でuse-after-freeが発生する可能性がありました。バインド解除時にsnd_soc_unbind_card()は遅延ワークをフラッシュし、その後soc_cleanup_card_resources()を呼び出します。クリーンアップ内でsnd_card_disconnect_sync()はすべてのPCMファイルディスクリプタを解放し、その結果のPCMクローズパスはsnd_soc_dapm_stream_stop()を呼び出すことがあります。この関数はpmdown_timeタイマー遅延付きの新しい遅延ワークをスケジュールしますが、これはsnd_soc_unbind_card()のフラッシュ後に発生するため、新しいワークはキャッチされません。soc_remove_link_components()はその後、このワークが起動する前にDAPMウィジェットを解放し、use-after-freeを引き起こしていました。soc_free_pcm_runtime()にある既存のフラッシュも、soc_remove_link_components()がすでにウィジェットを解放した後に実行されるため有効ではありません。そこで、snd_card_disconnect_sync()の後(新しいPCMクローズがさらなる遅延ワークをスケジュールできないタイミング)で、soc_remove_link_dais()およびsoc_remove_link_components()(遅延ワークがアクセスする構造体を解体する前)より前に、soc_cleanup_card_resources()内でフラッシュ処理を追加しました。

Possible impacts 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
Solution

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。

Publication Date May 8, 2026, midnight
Registration Date May 25, 2026, 10:20 a.m.
Last Update May 25, 2026, 10:20 a.m.
CVSS3.0 : 重要
Score 7.3
Vector CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
Affected System
Linux
Linux Kernel 4.20 以上 5.10.253 未満
Linux Kernel 5.11 以上 5.15.203 未満
Linux Kernel 5.16 以上 6.1.167 未満
Linux Kernel 6.13 以上 6.18.19 未満
Linux Kernel 6.19 以上 6.19.9 未満
Linux Kernel 6.2 以上 6.6.130 未満
Linux Kernel 6.7 以上 6.12.78 未満
Linux Kernel 7.0
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
Change Log
No Changed Details Date of change
1 [2026年05月25日]
  掲載
May 25, 2026, 10:20 a.m.

NVD Vulnerability Information
CVE-2026-43459
Summary

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

ASoC: soc-core: flush delayed work before removing DAIs and widgets

When a sound card is unbound while a PCM stream is open, a
use-after-free can occur in snd_soc_dapm_stream_event(), called from
the close_delayed_work workqueue handler.

During unbind, snd_soc_unbind_card() flushes delayed work and then
calls soc_cleanup_card_resources(). Inside cleanup,
snd_card_disconnect_sync() releases all PCM file descriptors, and
the resulting PCM close path can call snd_soc_dapm_stream_stop()
which schedules new delayed work with a pmdown_time timer delay.
Since this happens after the flush in snd_soc_unbind_card(), the
new work is not caught. soc_remove_link_components() then frees
DAPM widgets before this work fires, leading to the use-after-free.

The existing flush in soc_free_pcm_runtime() also cannot help as it
runs after soc_remove_link_components() has already freed the widgets.

Add a flush in soc_cleanup_card_resources() after
snd_card_disconnect_sync() (after which no new PCM closes can
schedule further delayed work) and before soc_remove_link_dais()
and soc_remove_link_components() (which tear down the structures the
delayed work accesses).

Publication Date May 9, 2026, 12:16 a.m.
Registration Date May 9, 2026, 4:15 a.m.
Last Update May 12, 2026, 11:10 p.m.
Related information, measures and tools
Common Vulnerabilities List