CVE-2026-31748Linux内核中的comedi子系统me_daq驱动存在缓冲区溢出漏洞。漏洞位于me2600_xilinx_download()函数中,该函数负责加载固件。由于代码盲目信任固件文件的格式,仅检查固件文件是否大于16字节,却未验证文件头声明的数据流长度是否超出文件实际大小。这导致读取数据时可能发生缓冲区越界。本地攻击者可利用此漏洞导致系统崩溃或潜在的权限提升。
漏洞产生于Linux内核drivers/comedi/drivers/me_daq.c文件的me2600_xilinx_download函数。该函数从固件文件偏移量0处读取4字节作为file_length,随后从偏移量16处读取file_length长度的数据。代码仅验证了fw->size >= 16以防止读取头信息越界,但缺失了对fw->size >= 16 + file_length的校验。因此,攻击者可构造一个文件头声明了较大file_length但实际数据长度不足的恶意固件文件。当驱动尝试处理该文件时,将越过固件缓冲区边界读取内存。由于此操作在内核空间执行,可能导致内核Panic(拒绝服务)或进一步的信息泄露及代码执行风险。