UBUNTU-CVE-2025-68257
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] ...
02 / AFFECTED SOFTWARE
Affected packages
11 explicit affected versions
80 explicit affected versions
50 explicit affected versions
6 explicit affected versions
12 explicit affected versions
19 explicit affected versions
10 explicit affected versions
6 explicit affected versions
90 explicit affected versions
24 explicit affected versions
75 explicit affected versions
75 explicit affected versions
79 explicit affected versions
70 explicit affected versions
10 explicit affected versions
32 explicit affected versions
26 explicit affected versions
82 explicit affected versions
7 explicit affected versions
77 explicit affected versions
35 explicit affected versions
13 explicit affected versions
39 explicit affected versions
35 explicit affected versions
42 explicit affected versions
40 explicit affected versions
18 explicit affected versions
35 explicit affected versions
64 explicit affected versions
40 explicit affected versions
13 explicit affected versions
4 explicit affected versions
23 explicit affected versions
47 explicit affected versions
1 explicit affected versions
21 explicit affected versions
9 explicit affected versions
16 explicit affected versions
10 explicit affected versions
13 explicit affected versions
43 explicit affected versions
8 explicit affected versions
7 explicit affected versions
12 explicit affected versions
11 explicit affected versions
7 explicit affected versions
12 explicit affected versions
14 explicit affected versions
10 explicit affected versions
1 explicit affected versions
7 explicit affected versions
11 explicit affected versions
12 explicit affected versions
2 explicit affected versions
12 explicit affected versions
36 explicit affected versions
36 explicit affected versions
16 explicit affected versions
10 explicit affected versions
25 explicit affected versions
29 explicit affected versions
10 explicit affected versions
37 explicit affected versions
10 explicit affected versions
2 explicit affected versions
13 explicit affected versions
35 explicit affected versions
3 explicit affected versions
10 explicit affected versions
11 explicit affected versions
57 explicit affected versions
26 explicit affected versions
6 explicit affected versions
13 explicit affected versions
29 explicit affected versions
29 explicit affected versions
13 explicit affected versions
12 explicit affected versions
87 explicit affected versions
36 explicit affected versions
36 explicit affected versions
1 explicit affected versions
82 explicit affected versions
45 explicit affected versions
33 explicit affected versions
23 explicit affected versions
51 explicit affected versions
10 explicit affected versions
15 explicit affected versions
14 explicit affected versions
11 explicit affected versions
5 explicit affected versions
12 explicit affected versions
2 explicit affected versions
7 explicit affected versions
12 explicit affected versions
1 explicit affected versions
9 explicit affected versions
5 explicit affected versions
67 explicit affected versions
83 explicit affected versions
10 explicit affected versions
26 explicit affected versions
34 explicit affected versions
1 explicit affected versions
59 explicit affected versions
30 explicit affected versions
42 explicit affected versions
11 explicit affected versions
2 explicit affected versions
13 explicit affected versions
41 explicit affected versions
16 explicit affected versions
81 explicit affected versions
45 explicit affected versions
3 explicit affected versions
7 explicit affected versions
2 explicit affected versions
8 explicit affected versions
51 explicit affected versions
9 explicit affected versions
18 explicit affected versions
37 explicit affected versions
12 explicit affected versions
66 explicit affected versions
70 explicit affected versions
3 explicit affected versions
27 explicit affected versions
56 explicit affected versions
38 explicit affected versions
8 explicit affected versions
47 explicit affected versions
5 explicit affected versions
8 explicit affected versions
10 explicit affected versions
7 explicit affected versions
41 explicit affected versions
13 explicit affected versions
13 explicit affected versions
7 explicit affected versions
8 explicit affected versions
10 explicit affected versions
12 explicit affected versions
9 explicit affected versions
30 explicit affected versions
44 explicit affected versions
16 explicit affected versions
3 explicit affected versions
13 explicit affected versions
26 explicit affected versions
45 explicit affected versions
37 explicit affected versions
46 explicit affected versions
14 explicit affected versions
38 explicit affected versions
9 explicit affected versions
10 explicit affected versions
11 explicit affected versions
34 explicit affected versions
15 explicit affected versions
7 explicit affected versions
83 explicit affected versions
8 explicit affected versions
7 explicit affected versions
4 explicit affected versions
72 explicit affected versions
1 explicit affected versions
1 explicit affected versions
1 explicit affected versions
1 explicit affected versions
81 explicit affected versions
72 explicit affected versions
71 explicit affected versions
13 explicit affected versions
43 explicit affected versions
8 explicit affected versions
10 explicit affected versions
8 explicit affected versions
40 explicit affected versions
14 explicit affected versions
4 explicit affected versions
78 explicit affected versions
7 explicit affected versions
11 explicit affected versions
1 explicit affected versions
14 explicit affected versions
34 explicit affected versions
71 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
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] ...
05 / REFERENCES
Further evidence
- https://git.kernel.org/linus/0de7d9cd07a2671fa6089173bccc0b2afe6b93ee
- https://git.kernel.org/stable/c/0de7d9cd07a2671fa6089173bccc0b2afe6b93ee
- https://git.kernel.org/stable/c/573b07d2e3d473ee7eb625ef87519922cf01168d
- https://git.kernel.org/stable/c/aac80e912de306815297a3b74f0426873ffa7dc3
- https://git.kernel.org/stable/c/f6e629dfe6f590091c662a87c9fcf118b1c1c7dc
- https://ubuntu.com/security/CVE-2025-68257
- https://ubuntu.com/security/notices/USN-8094-1
- https://ubuntu.com/security/notices/USN-8094-2
- https://ubuntu.com/security/notices/USN-8094-3
- https://ubuntu.com/security/notices/USN-8094-4
- https://ubuntu.com/security/notices/USN-8094-5
- https://ubuntu.com/security/notices/USN-8096-1
- https://ubuntu.com/security/notices/USN-8096-2
- https://ubuntu.com/security/notices/USN-8096-3
- https://ubuntu.com/security/notices/USN-8096-4
- https://ubuntu.com/security/notices/USN-8096-5
- https://ubuntu.com/security/notices/USN-8116-1
- https://ubuntu.com/security/notices/USN-8141-1
- https://ubuntu.com/security/notices/USN-8152-1
- https://ubuntu.com/security/notices/USN-8163-1
- https://ubuntu.com/security/notices/USN-8163-2
- https://ubuntu.com/security/notices/USN-8179-1
- https://ubuntu.com/security/notices/USN-8179-2
- https://ubuntu.com/security/notices/USN-8179-3
- https://ubuntu.com/security/notices/USN-8179-4
- https://ubuntu.com/security/notices/USN-8184-1
- https://ubuntu.com/security/notices/USN-8185-1
- https://ubuntu.com/security/notices/USN-8185-2
- https://ubuntu.com/security/notices/USN-8203-1
- https://ubuntu.com/security/notices/USN-8204-1
- https://ubuntu.com/security/notices/USN-8243-1
- https://ubuntu.com/security/notices/USN-8258-1
- https://ubuntu.com/security/notices/USN-8260-1
- https://ubuntu.com/security/notices/USN-8261-1
- https://ubuntu.com/security/notices/USN-8265-1
- https://ubuntu.com/security/notices/USN-8440-1
- https://www.cve.org/CVERecord?id=CVE-2025-68257