Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-39684— comedi: Fix use of uninitialized memory in do_insn_ioctl() and do_insnlist_ioctl()

EPSS 0.02% · P4
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2025-39684

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
comedi: Fix use of uninitialized memory in do_insn_ioctl() and do_insnlist_ioctl()
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: comedi: Fix use of uninitialized memory in do_insn_ioctl() and do_insnlist_ioctl() syzbot reports a KMSAN kernel-infoleak in `do_insn_ioctl()`. A kernel buffer is allocated to hold `insn->n` samples (each of which is an `unsigned int`). For some instruction types, `insn->n` samples are copied back to user-space, unless an error code is being returned. The problem is that not all the instruction handlers that need to return data to userspace fill in the whole `insn->n` samples, so that there is an information leak. There is a similar syzbot report for `do_insnlist_ioctl()`, although it does not have a reproducer for it at the time of writing. One culprit is `insn_rw_emulate_bits()` which is used as the handler for `INSN_READ` or `INSN_WRITE` instructions for subdevices that do not have a specific handler for that instruction, but do have an `INSN_BITS` handler. For `INSN_READ` it only fills in at most 1 sample, so if `insn->n` is greater than 1, the remaining `insn->n - 1` samples copied to userspace will be uninitialized kernel data. Another culprit is `vm80xx_ai_insn_read()` in the "vm80xx" driver. It never returns an error, even if it fails to fill the buffer. Fix it in `do_insn_ioctl()` and `do_insnlist_ioctl()` by making sure that uninitialized parts of the allocated buffer are zeroed before handling each instruction. Thanks to Arnaud Lecomte for their fix to `do_insn_ioctl()`. That fix replaced the call to `kmalloc_array()` with `kcalloc()`, but it is not always necessary to clear the whole buffer.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于comedi模块在do_insn_ioctl和do_insnlist_ioctl中使用未初始化内存。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux ed9eccbe8970f6eedc1b978c157caf1251a896d4 ~ 868a1b68dcd9f2805bb86aa64862402f785d8c4a -
LinuxLinux 2.6.29 -

II. Public POCs for CVE-2025-39684

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-39684

登录查看更多情报信息。

Same Patch Batch · Linux · 2025-09-05 · 60 CVEs total

CVE-2025-39707drm/amdgpu: check if hubbub is NULL in debugfs/amdgpu_dm_capabilities
CVE-2025-39725mm/vmscan: fix hwpoisoned large folio handling in shrink_folio_list
CVE-2025-39722crypto: caam - Prevent crash on suspend with iMX8QM / iMX8ULP
CVE-2025-39721crypto: qat - flush misc workqueue during device shutdown
CVE-2025-39720ksmbd: fix refcount leak causing resource not released
CVE-2025-39723netfs: Fix unbuffered write error handling
CVE-2025-39711media: ivsc: Fix crash at shutdown due to missing mei_cldev_disable() calls
CVE-2025-39710media: venus: Add a check for packet size after reading from shared memory
CVE-2025-39709media: venus: protect against spurious interrupts during probe
CVE-2025-39708media: iris: Fix NULL pointer dereference
CVE-2025-39712media: mt9m114: Fix deadlock in get_frame_interval/set_frame_interval
CVE-2025-39706drm/amdkfd: Destroy KFD debugfs after destroy KFD wq
CVE-2025-39705drm/amd/display: fix a Null pointer dereference vulnerability
CVE-2025-39704LoongArch: KVM: Fix stack protector issue in send_ipi_data()
CVE-2025-39703net, hsr: reject HSR frame if skb can't hold tag
CVE-2025-39702ipv6: sr: Fix MAC comparison to be constant-time
CVE-2025-39701ACPI: pfr_update: Fix the driver update version check
CVE-2025-39700mm/damon/ops-common: ignore migration request to invalid nodes
CVE-2025-39699iommu/riscv: prevent NULL deref in iova_to_phys
CVE-2025-39698io_uring/futex: ensure io_futex_wait() cleans up properly on failure

Showing top 20 of 60 CVEs. View all on vendor page → →

IV. Related Vulnerabilities

V. Comments for CVE-2025-39684

No comments yet


Leave a comment