{"id":"CVE-2025-39686","summary":"comedi: Make insn_rw_emulate_bits() do insn-\u003en samples","details":"In the Linux kernel, the following vulnerability has been resolved:\n\ncomedi: Make insn_rw_emulate_bits() do insn-\u003en samples\n\nThe `insn_rw_emulate_bits()` function is used as a default handler for\n`INSN_READ` instructions for subdevices that have a handler for\n`INSN_BITS` but not for `INSN_READ`.  Similarly, it is used as a default\nhandler for `INSN_WRITE` instructions for subdevices that have a handler\nfor `INSN_BITS` but not for `INSN_WRITE`. It works by emulating the\n`INSN_READ` or `INSN_WRITE` instruction handling with a constructed\n`INSN_BITS` instruction.  However, `INSN_READ` and `INSN_WRITE`\ninstructions are supposed to be able read or write multiple samples,\nindicated by the `insn-\u003en` value, but `insn_rw_emulate_bits()` currently\nonly handles a single sample.  For `INSN_READ`, the comedi core will\ncopy `insn-\u003en` samples back to user-space.  (That triggered KASAN\nkernel-infoleak errors when `insn-\u003en` was greater than 1, but that is\nbeing fixed more generally elsewhere in the comedi core.)\n\nMake `insn_rw_emulate_bits()` either handle `insn-\u003en` samples, or return\nan error, to conform to the general expectation for `INSN_READ` and\n`INSN_WRITE` handlers.","modified":"2026-04-24T06:42:50.482213493Z","published":"2025-09-05T17:20:53.071Z","related":["SUSE-SU-2025:03600-1","SUSE-SU-2025:03634-1","SUSE-SU-2025:20851-1","SUSE-SU-2025:20861-1","SUSE-SU-2025:20870-1","SUSE-SU-2025:20898-1","SUSE-SU-2025:21074-1","SUSE-SU-2025:21139-1","SUSE-SU-2025:21179-1","SUSE-SU-2025:3751-1","SUSE-SU-2025:4057-1","SUSE-SU-2025:4132-1","SUSE-SU-2025:4141-1","openSUSE-SU-2025:20081-1"],"database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/39xxx/CVE-2025-39686.json","cna_assigner":"Linux"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/7afba9221f70d4cbce0f417c558879cba0eb5e66"},{"type":"WEB","url":"https://git.kernel.org/stable/c/842f307a1d115b24f2bcb2415c4e344f11f55930"},{"type":"WEB","url":"https://git.kernel.org/stable/c/92352ed2f9ac422181e381c2430c2d0dfb46faa0"},{"type":"WEB","url":"https://git.kernel.org/stable/c/ab77e85bd3bc006ef40738f26f446a660813da44"},{"type":"WEB","url":"https://git.kernel.org/stable/c/ae8bc1f07bcb31b8636420e03d1f9c3df6219a2b"},{"type":"WEB","url":"https://git.kernel.org/stable/c/dc0a2f142d655700db43de90cb6abf141b73d908"},{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/39xxx/CVE-2025-39686.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-39686"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"ed9eccbe8970f6eedc1b978c157caf1251a896d4"},{"fixed":"ab77e85bd3bc006ef40738f26f446a660813da44"},{"fixed":"ae8bc1f07bcb31b8636420e03d1f9c3df6219a2b"},{"fixed":"842f307a1d115b24f2bcb2415c4e344f11f55930"},{"fixed":"92352ed2f9ac422181e381c2430c2d0dfb46faa0"},{"fixed":"dc0a2f142d655700db43de90cb6abf141b73d908"},{"fixed":"7afba9221f70d4cbce0f417c558879cba0eb5e66"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-39686.json"}}],"schema_version":"1.7.5"}