Overview
About vulnerability
In the Linux kernel, the following vulnerability has been resolved:
comedi: Fix initialization of data for instructions that write to subdevice
Some Comedi subdevice instruction handlers are known to access
instruction data elements beyond the first insn->n elements in some
cases. The do_insn_ioctl() and do_insnlist_ioctl() functions
allocate at least MIN_SAMPLES (16) data elements to deal with this,
but they do not initialize all of that. For Comedi instruction codes
that write to the subdevice, the first insn->n data elements are
copied from user-space, but the remaining elements are left
uninitialized. That could be a problem if the subdevice instruction
handler reads the uninitialized data. Ensure that the first
MIN_SAMPLES elements are initialized before calling these instruction
handlers, filling the uncopied elements with 0. For
do_insnlist_ioctl(), the same data buffer elements are used for
handling a list of instructions, so ensure the first MIN_SAMPLES
elements are initialized for each instruction that writes to the
subdevice.
Details
- Affected product:
- AlmaLinux 9.2 ESU , CentOS 6 ELS , CentOS 7 ELS , CentOS 8.4 ELS , CentOS 8.5 ELS , CentOS Stream 8 ELS , CloudLinux 7 ELS , Oracle Linux 6 ELS , Oracle Linux 7 ELS , RHEL 7 ELS , TuxCare 9.6 ESU , Ubuntu 16.04 ELS , Ubuntu 18.04 ELS , Ubuntu 20.04 ELS
- Affected packages:
- linux @ 5.4.0 (+15 more)
In the Linux kernel, the following vulnerability has been resolved:
comedi: Fix initialization of data for instructions that write to subdevice
Some Comedi subdevice instruction handlers are known to access
instruction data elements beyond the first insn->n elements in some
cases. The do_insn_ioctl() and do_insnlist_ioctl() functions
allocate at least MIN_SAMPLES (16) data elements to deal with this,
but they do not initialize all of that. For Comedi instruction codes
that write to the subdevice, the first insn->n data elements are
copied from user-space, but the remaining elements are left
uninitialized. That could be a problem if the subdevice instruction
handler reads the uninitialized data. Ensure that the first
MIN_SAMPLES elements are initialized before calling these instruction
handlers, filling the uncopied elements with 0. For
do_insnlist_ioctl(), the same data buffer elements are used for
handling a list of instructions, so ensure the first MIN_SAMPLES
elements are initialized for each instruction that writes to the
subdevice.