[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025121613-CVE-2025-68257-3579@gregkh>
Date: Tue, 16 Dec 2025 15:45:14 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2025-68257: comedi: check device's attached status in compat ioctls
From: Greg Kroah-Hartman <gregkh@...nel.org>
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]
...
The Linux kernel CVE team has assigned CVE-2025-68257 to this issue.
Affected and fixed versions
===========================
Issue introduced in 5.8 with commit 3fbfd2223a271426509830e6340c386a1054cfad and fixed in 6.12.62 with commit f6e629dfe6f590091c662a87c9fcf118b1c1c7dc
Issue introduced in 5.8 with commit 3fbfd2223a271426509830e6340c386a1054cfad and fixed in 6.17.12 with commit 573b07d2e3d473ee7eb625ef87519922cf01168d
Issue introduced in 5.8 with commit 3fbfd2223a271426509830e6340c386a1054cfad and fixed in 6.18.1 with commit aac80e912de306815297a3b74f0426873ffa7dc3
Issue introduced in 5.8 with commit 3fbfd2223a271426509830e6340c386a1054cfad and fixed in 6.19-rc1 with commit 0de7d9cd07a2671fa6089173bccc0b2afe6b93ee
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2025-68257
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
drivers/comedi/comedi_fops.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/f6e629dfe6f590091c662a87c9fcf118b1c1c7dc
https://git.kernel.org/stable/c/573b07d2e3d473ee7eb625ef87519922cf01168d
https://git.kernel.org/stable/c/aac80e912de306815297a3b74f0426873ffa7dc3
https://git.kernel.org/stable/c/0de7d9cd07a2671fa6089173bccc0b2afe6b93ee
Powered by blists - more mailing lists