Debian等の複数ベンダの製品における初期化されていないリソースの使用に関する脆弱性
タイトル Debian等の複数ベンダの製品における初期化されていないリソースの使用に関する脆弱性
概要

Linuxカーネルには脆弱性が存在しています。この脆弱性は、comediサブシステムのinsn_rw_emulate_bits()関数において初期化されていないデータが使用されることに関連しています。デジタルサブデバイスで特定の命令が処理される際、サブデバイスドライバがinsn_readやinsn_writeハンドラを実装していない場合、insn_rw_emulate_bits()が代替として利用されます。しかし、insn_rw_emulate_bits()は渡されたデータの値が有効であると仮定したまま処理を進めてしまい、命令数が0の場合には初期化されていないデータにアクセスする可能性があります。その結果、不正な値がデジタル出力チャンネルや内部状態に書き込まれる危険性が発生します。この問題は修正されており、命令数が0のときにはデータにアクセスせず直ちに0を返すようになっています。

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

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

公表日 2025年7月28日0:00
登録日 2026年1月9日16:23
最終更新日 2026年1月9日16:23
CVSS3.0 : 警告
スコア 5.5
ベクター CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
影響を受けるシステム
Debian
Debian GNU/Linux 11.0
Linux
Linux Kernel 2.6.29 以上 5.4.297 未満
Linux Kernel 5.11 以上 5.15.190 未満
Linux Kernel 5.16 以上 6.1.147 未満
Linux Kernel 5.5 以上 5.10.241 未満
Linux Kernel 6.13 以上 6.15.8 未満
Linux Kernel 6.16
Linux Kernel 6.2 以上 6.6.100 未満
Linux Kernel 6.7 以上 6.12.40 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
変更履歴
No 変更内容 変更日
1 [2026年01月09日]
  掲載
2026年1月9日16:23

NVD脆弱性情報
CVE-2025-38480
概要

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

comedi: Fix use of uninitialized data in insn_rw_emulate_bits()

For Comedi `INSN_READ` and `INSN_WRITE` instructions on "digital"
subdevices (subdevice types `COMEDI_SUBD_DI`, `COMEDI_SUBD_DO`, and
`COMEDI_SUBD_DIO`), it is common for the subdevice driver not to have
`insn_read` and `insn_write` handler functions, but to have an
`insn_bits` handler function for handling Comedi `INSN_BITS`
instructions. In that case, the subdevice's `insn_read` and/or
`insn_write` function handler pointers are set to point to the
`insn_rw_emulate_bits()` function by `__comedi_device_postconfig()`.

For `INSN_WRITE`, `insn_rw_emulate_bits()` currently assumes that the
supplied `data[0]` value is a valid copy from user memory. It will at
least exist because `do_insnlist_ioctl()` and `do_insn_ioctl()` in
"comedi_fops.c" ensure at lease `MIN_SAMPLES` (16) elements are
allocated. However, if `insn->n` is 0 (which is allowable for
`INSN_READ` and `INSN_WRITE` instructions, then `data[0]` may contain
uninitialized data, and certainly contains invalid data, possibly from a
different instruction in the array of instructions handled by
`do_insnlist_ioctl()`. This will result in an incorrect value being
written to the digital output channel (or to the digital input/output
channel if configured as an output), and may be reflected in the
internal saved state of the channel.

Fix it by returning 0 early if `insn->n` is 0, before reaching the code
that accesses `data[0]`. Previously, the function always returned 1 on
success, but it is supposed to be the number of data samples actually
read or written up to `insn->n`, which is 0 in this case.

公表日 2025年7月28日21:15
登録日 2025年7月29日4:00
最終更新日 2025年7月28日21:15
関連情報、対策とツール
共通脆弱性一覧