CVE-2025-70067Assimp开源库6.0.2及之前版本存在严重的缓冲区溢出漏洞。该漏洞源于FBX导入器中`aiMaterial::AddBinaryProperty`函数未对输入长度进行校验。攻击者诱导目标解析特制的恶意FBX文件,即可利用`strcpy`操作引发堆缓冲区溢出,最终可能导致系统被远程控制并执行任意恶意代码。
该漏洞的根源在于Assimp库在解析FBX文件材质属性时的不安全编码实践。具体而言,`aiMaterial::AddBinaryProperty`函数在处理从FBX文件读取的属性键字符串时,直接调用了`strcpy`函数将其拷贝至堆上的固定大小缓冲区。由于代码逻辑中缺失了对源字符串长度的运行时边界检查,当攻击者上传一个包含超长属性键的特制FBX文件时,`strcpy`会持续写入直至遇到空字节,从而导致堆缓冲区溢出。这种内存破坏行为允许攻击者覆盖相邻的内存元数据或返回地址。结合CVSS向量(AV:N/PR:N/UI:N),攻击者可通过网络向量远程触发此漏洞,无需认证和用户交互即可获取目标系统的最高权限,实现完全的远程代码执行。