CVE-2025-15273CVE-2025-15273是FontForge软件中的一个高危安全漏洞,CVSS评分达到8.8分,属于严重程度的安全缺陷。该漏洞存在于FontForge对PFB(Printer Font Binary)字体文件的解析过程中,是一个基于栈的缓冲区溢出(Stack-based Buffer Overflow)问题。攻击者可以通过构造恶意的PFB文件来触发此漏洞,当目标用户打开该文件或访问包含恶意字体的网页时,攻击者即可在当前用户的上下文中执行任意代码。漏洞的利用需要用户交互,例如打开恶意文件或访问恶意页面,这使得该漏洞具有一定的社交工程属性。Trend Micro的零日倡议(ZDI)团队发现了此漏洞,并将其编号为ZDI-CAN-28546。该漏洞的CVSS向量为CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H,表明攻击复杂度低,无需认证即可通过网络发起攻击,且对机密性、完整性和可用性均有高度影响。
该漏洞的根本原因在于FontForge在解析PFB文件时,缺乏对用户提供的PFB数据长度的正确验证。PFB文件格式是一种二进制字体文件格式,FontForge在读取和解析此类文件时,会将数据复制到固定长度的栈缓冲区中。由于没有事先检查输入数据的长度,攻击者可以构造一个超长的PFB数据块,使得复制操作超出栈缓冲区的边界,导致缓冲区溢出。栈上的缓冲区溢出可以覆盖相邻的栈帧数据,包括函数返回地址,从而控制程序执行流。攻击者通过精心构造的溢出数据,可以将程序跳转到自己植入的恶意代码位置,实现远程代码执行。成功利用此漏洞的攻击者可以在当前进程的上下文中执行任意代码,这意味着如果FontForge以较高权限运行,攻击者可以获得相应的系统权限。防御此类漏洞的关键措施是在进行内存复制操作前,严格验证输入数据的长度,确保不会超出目标缓冲区的容量。