CVE-2025-15271CVE-2025-15271是FontForge中存在的一个高危安全漏洞。该漏洞位于FontForge对SFD(Splines Font Database)文件格式的解析过程中,由于缺乏对用户提供的数组索引进行正确的验证,攻击者可以通过构造恶意的SFD文件来触发越界写入操作。当FontForge解析特制的SFD文件时,不当的数组索引验证可能导致写入操作超出已分配数组的边界,从而实现任意代码执行。此漏洞需要用户交互才能被利用,即目标用户需要访问恶意网页或打开恶意文件。一旦成功利用,攻击者可以在当前用户的上下文中执行任意代码,从而获取系统控制权。该漏洞由ZDI(Zero Day Initiative)披露,编号为ZDI-CAN-28562。鉴于FontForge是一款广泛使用的开源字体编辑软件,此漏洞可能影响大量用户。
该漏洞的根本原因在于FontForge在解析SFD文件时,对用户提供的数组索引缺乏充分的验证。SFD文件是FontForge的原生字体数据库格式,包含字体的轮廓、字形、度量信息等数据。在解析过程中,程序需要读取并处理SFD文件中的多个数组结构,如字形数组、锚点数组等。攻击者可以精心构造一个包含畸形数组索引值的SFD文件,使得程序在访问数组元素时产生越界写入。这种越界写入可能覆盖相邻的内存区域,包括函数指针、对象虚表或其他关键数据结构。当被覆盖的数据被后续代码使用时,可能导致控制流被劫持,最终实现任意代码执行。由于该漏洞影响的是文件解析模块,且在用户打开文件时自动触发,因此具有较高的隐蔽性和危害性。