CVE-2025-66047CVE-2025-66047是The Biosig Project libbiosig 3.9.1版本中存在的一组高危栈缓冲区溢出漏洞。该漏洞位于libbiosig库的MFER(Medical File Format)文件格式解析功能中。当解析特制的MFER文件时,特别是当Tag标签值为131时,程序在处理数据时未进行充分的边界检查,导致数据可以溢出到栈上的相邻内存区域。攻击者可以通过精心构造恶意MFER文件,在用户打开该文件时触发漏洞,成功利用后可实现任意代码执行,从而完全控制受害系统。此漏洞CVSS评分高达9.8,属于严重级别,无需任何用户交互或认证即可远程利用。攻击者可通过钓鱼邮件、恶意网站下载或中间人攻击等方式诱骗受害者打开恶意文件。鉴于libbiosig库在医学数据处理领域的广泛应用,该漏洞可能影响大量使用该库进行生物医学信号处理的系统和应用程序。
该漏洞属于典型的栈缓冲区溢出(Stack-based Buffer Overflow)类型。在libbiosig 3.9.1的MFER文件解析代码中,当读取MFER文件中的特定Tag字段(特别是Tag=131)时,解析函数使用栈上的固定大小缓冲区存储读取的数据,但未正确验证输入数据的长度。在MFER文件格式规范中,某些字段的长度可能由文件头指定或由实际数据决定,当指定的字段长度超过栈缓冲区大小时,复制操作会导致数据溢出到栈帧中的其他变量、返回地址或保存的寄存器值。攻击者可利用这一特性,通过精心构造MFER文件中的Tag值和数据长度字段,覆盖栈上的返回地址,将程序执行流重定向到攻击者植入的恶意代码。由于MFER文件解析通常发生在文件打开或导入阶段,攻击者只需诱导用户打开恶意文件即可触发漏洞,无需其他用户交互。成功利用后,攻击者可获得与当前进程相同的权限执行任意代码。