【活用ガイド】

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値]
  • 攻撃元区分: ローカル
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): なし
  • 可用性への影響(A): 高
影響を受けるシステム


Linux
  • Linux Kernel 2.6.31 以上 5.10.253 未満
  • Linux Kernel 5.11 以上 5.15.203 未満
  • Linux Kernel 5.16 以上 6.1.168 未満
  • Linux Kernel 6.13 以上 6.18.22 未満
  • Linux Kernel 6.19 以上 6.19.12 未満
  • Linux Kernel 6.2 以上 6.6.134 未満
  • Linux Kernel 6.7 以上 6.12.81 未満
  • Linux Kernel 7.0

想定される影響

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

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

CWEによる脆弱性タイプ一覧  CWEとは?

  1. 境界外読み取り(CWE-125) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-31778
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-31778
  2. 関連文書 : ALSA: caiaq: fix stack out-of-bounds read in init_card - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/a82c1bce2d1299dd3c686a8fe48cf75b79a403c7)
  3. 関連文書 : ALSA: caiaq: fix stack out-of-bounds read in init_card - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/3178b62e2e31bab39f63d4c8e54bf4ee0a425627)
  4. 関連文書 : ALSA: caiaq: fix stack out-of-bounds read in init_card - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/45424e871abf2a152e247a9cff78359f18dd95c0)
  5. 関連文書 : ALSA: caiaq: fix stack out-of-bounds read in init_card - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/3afa2e67f3523a980a2f90fd63c22322ac2b9ce0)
  6. 関連文書 : ALSA: caiaq: fix stack out-of-bounds read in init_card - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/3f7f8bae0d52cbd07ab04b76b6aac89ef98ee9f6)
  7. 関連文書 : ALSA: caiaq: fix stack out-of-bounds read in init_card - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/02d9c5b0b5553a391448b6d655262bd829f90234)
  8. 関連文書 : ALSA: caiaq: fix stack out-of-bounds read in init_card - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/66194c2575a4f567577ae70b1d7561163ce791a6)
  9. 関連文書 : ALSA: caiaq: fix stack out-of-bounds read in init_card - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/7594a6464873d90fd229e5b94cdd3b92c9feabed)
更新履歴

  • [2026年05月13日]
      掲載