CVE-2025-68335
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: comedi: pcl818: fix null-ptr-deref in pcl818_ai_cancel() Syzbot identified an issue [1] in pcl818_ai_cancel(), which stems from the fact that in case of early device detach via pcl818_detach(), subdevice dev->read_subdev may not have initialized its pointer to &struct comedi_async as intended. Thus, any such dereferencing of &s->async->cmd will lead to general protection fault and kernel crash. Mitigate this problem by removing a call to pcl818_ai_cancel() from pcl818_detach() altogether. This way, if the subdevice setups its support for async commands, everything async-related will be handled via subdevice's own ->cancel() function in comedi_device_detach_locked() even before pcl818_detach(). If no support for asynchronous commands is provided, there is no need to cancel anything either. [1] Syzbot crash: Oops: general protection fault, probably for non-canonical address 0xdffffc0000000005: 0000 [#1] SMP KASAN PTI KASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f] CPU: 1 UID: 0 PID: 6050 Comm: syz.0.18 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025 RIP: 0010:pcl818_ai_cancel+0x69/0x3f0 drivers/comedi/drivers/pcl818.c:762 ... Call Trace: <TASK> pcl818_detach+0x66/0xd0 drivers/comedi/drivers/pcl818.c:1115 comedi_device_detach_locked+0x178/0x750 drivers/comedi/drivers.c:207 do_devconfig_ioctl drivers/comedi/comedi_fops.c:848 [inline] comedi_unlocked_ioctl+0xcde/0x1020 drivers/comedi/comedi_fops.c:2178 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:597 [inline] ...
View original CVE JSON
{
"id": "CVE-2025-68335",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2025-12-22T17:16:01.237",
"lastModified": "2026-10-19T21:10:00.160",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncomedi: pcl818: fix null-ptr-deref in pcl818_ai_cancel()\n\nSyzbot identified an issue [1] in pcl818_ai_cancel(), which stems from\nthe fact that in case of early device detach via pcl818_detach(),\nsubdevice dev->read_subdev may not have initialized its pointer to\n&struct comedi_async as intended. Thus, any such dereferencing of\n&s->async->cmd will lead to general protection fault and kernel crash.\n\nMitigate this problem by removing a call to pcl818_ai_cancel() from\npcl818_detach() altogether. This way, if the subdevice setups its\nsupport for async commands, everything async-related will be\nhandled via subdevice's own ->cancel() function in\ncomedi_device_detach_locked() even before pcl818_detach(). If no\nsupport for asynchronous commands is provided, there is no need\nto cancel anything either.\n\n[1] Syzbot crash:\nOops: general protection fault, probably for non-canonical address 0xdffffc0000000005: 0000 [#1] SMP KASAN PTI\nKASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f]\nCPU: 1 UID: 0 PID: 6050 Comm: syz.0.18 Not tainted syzkaller #0 PREEMPT(full)\nHardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025\nRIP: 0010:pcl818_ai_cancel+0x69/0x3f0 drivers/comedi/drivers/pcl818.c:762\n...\nCall Trace:\n <TASK>\n pcl818_detach+0x66/0xd0 drivers/comedi/drivers/pcl818.c:1115\n comedi_device_detach_locked+0x178/0x750 drivers/comedi/drivers.c:207\n do_devconfig_ioctl drivers/comedi/comedi_fops.c:848 [inline]\n comedi_unlocked_ioctl+0xcde/0x1020 drivers/comedi/comedi_fops.c:2178\n vfs_ioctl fs/ioctl.c:51 [inline]\n __do_sys_ioctl fs/ioctl.c:597 [inline]\n..."
},
{
"lang": "es",
"value": "En el kernel de Linux, se ha corregido la siguiente vulnerabilidad:\\n\\ncomedi: pcl818: fix null-ptr-deref in pcl818_ai_cancel()\\n\\nSyzbot identificó un problema [1] en pcl818_ai_cancel(), que se origina por el hecho de que, en caso de una separación temprana del dispositivo mediante pcl818_detach(), el subdispositivo dev -> read_subdev puede no haber inicializado su puntero a &struct comedi_async como se pretendía. Por lo tanto, cualquier desreferenciación de &s -> async -> cmd provocará una falla de protección general y el bloqueo del kernel.\\n\\nSe mitiga este problema eliminando por completo la llamada a pcl818_ai_cancel() desde pcl818_detach(). De este modo, si el subdispositivo configura su soporte para comandos asíncronos, todo lo relacionado con async será gestionado a través de la propia función -> cancel() del subdispositivo en comedi_device_detach_locked() incluso antes de pcl818_detach(). Si no se proporciona soporte para comandos asíncronos, tampoco es necesario cancelar nada.\\n\\n[1] Crash de Syzbot:\\nOops: general protection fault, probably for non-canonical address 0xdffffc0000000005: 0000 [#1] SMP KASAN PTI\\nKASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f]\\nCPU: 1 UID: 0 PID: 6050 Comm: syz.0.18 Not tainted syzkaller #0 PREEMPT(full)\\nHardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025\\nRIP: 0010:pcl818_ai_cancel+0x69/0x3f0 drivers/comedi/drivers/pcl818.c:762\\n...\\nCall Trace:\\n <TASK>\\n pcl818_detach+0x66/0xd0 drivers/comedi/drivers/pcl818.c:1115\\n comedi_device_detach_locked+0x178/0x750 drivers/comedi/drivers.c:207\\n do_devconfig_ioctl drivers/comedi/comedi_fops.c:848 [inline]\\n comedi_unlocked_ioctl+0xcde/0x1020 drivers/comedi/comedi_fops.c:2178\\n vfs_ioctl fs/ioctl.c:51 [inline]\\n __do_sys_ioctl fs/ioctl.c:597 [inline]\\n..."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"drivers/comedi/drivers/pcl818.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "00aba6e7b5653a6607238ecdab7172318059d984",
"lessThan": "b2a5b172dc05be6c4f2c5542c1bbc6b14d60ff16",
"versionType": "git",
"status": "affected"
},
{
"version": "00aba6e7b5653a6607238ecdab7172318059d984",
"lessThan": "935ad4b3c325c24fff2c702da403283025ffc722",
"versionType": "git",
"status": "affected"
},
{
"version": "00aba6e7b5653a6607238ecdab7172318059d984",
"lessThan": "88d99ca5adbd01ff088f5fb2ddeba5755e085e52",
"versionType": "git",
"status": "affected"
},
{
"version": "00aba6e7b5653a6607238ecdab7172318059d984",
"lessThan": "5caa40e7c6a43e08e3574f990865127705c22861",
"versionType": "git",
"status": "affected"
},
{
"version": "00aba6e7b5653a6607238ecdab7172318059d984",
"lessThan": "d948c53dec36dafe182631457597c49c1f1df5ea",
"versionType": "git",
"status": "affected"
},
{
"version": "00aba6e7b5653a6607238ecdab7172318059d984",
"lessThan": "877adccfacb32687b90714a27cfb09f444fdfa16",
"versionType": "git",
"status": "affected"
},
{
"version": "00aba6e7b5653a6607238ecdab7172318059d984",
"lessThan": "a51f025b5038abd3d22eed2ede4cd46793d89565",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"drivers/comedi/drivers/pcl818.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "3.15",
"status": "affected"
},
{
"version": "0",
"lessThan": "3.15",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.15.198",
"lessThanOrEqual": "5.15.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.1.160",
"lessThanOrEqual": "6.1.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.6.120",
"lessThanOrEqual": "6.6.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.12.62",
"lessThanOrEqual": "6.12.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.17.12",
"lessThanOrEqual": "6.17.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.1",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.19",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/5caa40e7c6a43e08e3574f990865127705c22861",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/877adccfacb32687b90714a27cfb09f444fdfa16",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/88d99ca5adbd01ff088f5fb2ddeba5755e085e52",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/935ad4b3c325c24fff2c702da403283025ffc722",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/a51f025b5038abd3d22eed2ede4cd46793d89565",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/b2a5b172dc05be6c4f2c5542c1bbc6b14d60ff16",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/d948c53dec36dafe182631457597c49c1f1df5ea",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}