Home

Description

In the Linux kernel, the following vulnerability has been resolved: comedi: check device's attached status in compat ioctls Syzbot identified an issue [1] that crashes kernel, seemingly due to unexistent callback dev->get_valid_routes(). By all means, this should not occur as said callback must always be set to get_zero_valid_routes() in __comedi_device_postconfig(). As the crash seems to appear exclusively in i386 kernels, at least, judging from [1] reports, the blame lies with compat versions of standard IOCTL handlers. Several of them are modified and do not use comedi_unlocked_ioctl(). While functionality of these ioctls essentially copy their original versions, they do not have required sanity check for device's attached status. This, in turn, leads to a possibility of calling select IOCTLs on a device that has not been properly setup, even via COMEDI_DEVCONFIG. Doing so on unconfigured devices means that several crucial steps are missed, for instance, specifying dev->get_valid_routes() callback. Fix this somewhat crudely by ensuring device's attached status before performing any ioctls, improving logic consistency between modern and compat functions. [1] Syzbot report: BUG: kernel NULL pointer dereference, address: 0000000000000000 ... CR2: ffffffffffffffd6 CR3: 000000006c717000 CR4: 0000000000352ef0 Call Trace: <TASK> get_valid_routes drivers/comedi/comedi_fops.c:1322 [inline] parse_insn+0x78c/0x1970 drivers/comedi/comedi_fops.c:1401 do_insnlist_ioctl+0x272/0x700 drivers/comedi/comedi_fops.c:1594 compat_insnlist drivers/comedi/comedi_fops.c:3208 [inline] comedi_compat_ioctl+0x810/0x990 drivers/comedi/comedi_fops.c:3273 __do_compat_sys_ioctl fs/ioctl.c:695 [inline] __se_compat_sys_ioctl fs/ioctl.c:638 [inline] __ia32_compat_sys_ioctl+0x242/0x370 fs/ioctl.c:638 do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:83 [inline] ...

PUBLISHED Reserved 2025-12-16 | Published 2025-12-16 | Updated 2025-12-16 | Assigner Linux

Product status

Default status
unaffected

3fbfd2223a271426509830e6340c386a1054cfad (git) before f6e629dfe6f590091c662a87c9fcf118b1c1c7dc
affected

3fbfd2223a271426509830e6340c386a1054cfad (git) before 573b07d2e3d473ee7eb625ef87519922cf01168d
affected

3fbfd2223a271426509830e6340c386a1054cfad (git) before aac80e912de306815297a3b74f0426873ffa7dc3
affected

3fbfd2223a271426509830e6340c386a1054cfad (git) before 0de7d9cd07a2671fa6089173bccc0b2afe6b93ee
affected

Default status
affected

5.8
affected

Any version before 5.8
unaffected

6.12.62 (semver)
unaffected

6.17.12 (semver)
unaffected

6.18.1 (semver)
unaffected

6.19-rc1 (original_commit_for_fix)
unaffected

References

git.kernel.org/...c/f6e629dfe6f590091c662a87c9fcf118b1c1c7dc

git.kernel.org/...c/573b07d2e3d473ee7eb625ef87519922cf01168d

git.kernel.org/...c/aac80e912de306815297a3b74f0426873ffa7dc3

git.kernel.org/...c/0de7d9cd07a2671fa6089173bccc0b2afe6b93ee

cve.org (CVE-2025-68257)

nvd.nist.gov (CVE-2025-68257)

Download JSON

Data based on CVE®. Copyright © 1999-2025, The MITRE Corporation. All rights reserved.