JVNDB-2026-015229 | |
LinuxのLinux Kernelにおける境界外読み取りに関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。ALSAのcaiaqでのinit_card関数におけるスタックの境界外読み取りの問題です。このループはカードの短縮名から空白を除去したコピーを作成しますが、境界チェックに`len sizeof(card-id)`を使用していました。sizeof(card-id)は16であり、ローカルのidバッファも16バイトです。そのため、16文字の空白以外の文字を書き込むとバッファ全体が埋まり、終端のヌルバイトが上書きされてしまいます。その後、このヌル終端されていない文字列がsnd_card_set_id()からcopy_valid_id_string()に渡されると、`while (*nid && ...)`のループによりスタックバッファの終端を越えて読み取り、スタックの内容を読み出してしまいます。多くの非ASCIIかつ非空白文字(例えばマルチバイトUTF-8)を含む製品名のUSBデバイスでは、以下のように確実にこの問題が発生します。BUG: KASAN: stack-out-of-bounds in copy_valid_id_string sound/core/init.c:696 [inline] BUG: KASAN: stack-out-of-bounds in snd_card_set_id_no_lock+0x698/0x74c sound/core/init.c:718。オフバイワン問題は2009年6月(v2.6.31-rc1)のコミットbafeee5b1f8d("ALSA: snd_usb_caiaq: give better shortname")以来存在していました。この空白除去ループを最初に導入したコードは、コピーの際にヌル終端文字を考慮していませんでした。本問題はループの境界値を`sizeof(card-id) - 1`に変更し、少なくとも1バイトをヌル終端のために確保することで修正されました。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.1 (重要) [NVD値]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/05/01 |
| 登録日 | 2026/05/13 |
| 最終更新日 | 2026/05/13 |



