LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性
タイトル LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性
概要

LinuxカーネルのALSAにおけるcaiaqドライバで、プローブエラーの適切な処理が行われていなかった問題が修正されました。この問題は、snd_card_register()のエラー発生時にsnd_card_free()を呼び出した後も処理が続行され、結果としてsnd_usb_caiaq_control_init()などの関数でUse After Free(UAF)が発生する可能性があったことに起因しています。setup_card()関数はエラーコードを正しく返さず、呼び出し元のsnd_probe()にエラーを伝搬させていなかったため、すべてのエラー処理を適切に実装し、エラー時には直ちにエラーコードを返すように変更されました。また、不要なsnd_card_free()の呼び出しも削除されています。これにより、安全にエラー処理が行われるようになり、リソースの不正なアクセスを防止します。

想定される影響 ・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 ・当該ソフトウェアが完全に停止する可能性があります。 
対策

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

公表日 2026年5月27日0:00
登録日 2026年6月17日15:42
最終更新日 2026年6月17日15:42
CVSS3.0 : 重要
スコア 7.8
ベクター CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
影響を受けるシステム
Linux
Linux Kernel 2.6.25 以上 5.10.258 未満
Linux Kernel 5.11 以上 5.15.209 未満
Linux Kernel 5.16 以上 6.1.175 未満
Linux Kernel 6.13 以上 6.18.27 未満
Linux Kernel 6.19 以上 7.0.4 未満
Linux Kernel 6.2 以上 6.6.140 未満
Linux Kernel 6.7 以上 6.12.86 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
変更履歴
No 変更内容 変更日
1 [2026年06月17日]
  掲載
2026年6月17日15:42

NVD脆弱性情報
CVE-2026-46004
概要

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

ALSA: caiaq: Handle probe errors properly

The probe procedure of setup_card() in caiaq driver doesn't treat the
error cases gracefully, e.g. the error from snd_card_register() calls
snd_card_free() but continues. This would lead to a UAF for the
further calls like snd_usb_caiaq_control_init(), as Berk suggested in
another patch in the link below.

However, the problem is not only that; in general, this function drops
the all error handlings (as it's a void function) although its caller
can propagate an error to snd_probe(), which eventually calls
snd_card_free() as a proper error path. That said, we should treat
each error case in setup_card(), and just return the error code
promptly, which is then handled later as a fatal error in snd_probe().

This patch achieves it by changing the setup_card() to return an error
code. Also, the superfluous snd_card_free() call is removed, too.

Note that card->private_free can be set still safely at returning an
error. All called functions in card_free() have checks of the
unassigned resources or NULL checks.

公表日 2026年5月27日23:17
登録日 2026年5月28日4:12
最終更新日 2026年6月2日2:17
関連情報、対策とツール
共通脆弱性一覧