CVE-2025-15538CVE-2025-15538是Open Asset Import Library (Assimp) 6.0.2及以下版本中的一个安全漏洞。该漏洞位于Assimp::LWOImporter::FindUVChannels函数中,位于文件/src/assimp/code/AssetLib/LWO/LWOMaterial.cpp。由于函数在处理LWO格式文件时存在内存管理错误,导致释放后的内存被继续访问,从而产生Use-After-Free漏洞。攻击者可以通过精心构造恶意LWO文件,触发该漏洞并在特定条件下实现代码执行或信息泄露。该漏洞具有本地攻击向量,需要低权限即可利用,无需用户交互。漏洞已公开披露,相关的PoC(概念验证代码)已在互联网公开,GitHub上存在issue #6128跟踪类似缺陷。由于Assimp是一个广泛使用的3D模型导入库,该漏洞可能影响多个使用该库进行3D文件处理的应用软件。CVSS 3.1评分为5.3,属于中等严重程度,主要影响系统的机密性、完整性和可用性。
该漏洞属于Use-After-Free(UAF)类型,是一种内存损坏漏洞。在Assimp::LWOImporter::FindUVChannels函数处理LWO(LightWave 3D对象)文件格式时,函数在释放某块内存后,未正确更新相关指针或更新指针状态,导致后续代码继续引用已释放的内存区域。攻击者可以通过构造包含特殊数据的LWO文件,在文件解析过程中触发内存释放,然后通过特定的文件结构使程序再次访问已释放的内存。当程序访问已释放的内存时,可能导致:1)信息泄露,攻击者读取其他内存数据;2)程序崩溃,造成拒绝服务;3)在特定条件下配合堆布局控制,可能实现任意代码执行。该漏洞的利用需要攻击者能够诱使目标系统打开恶意LWO文件,攻击向量为本地(AV:L),需要低权限(PR:L),无需用户交互(UI:N)。修复该漏洞需要修正LWOImporter中的内存管理逻辑,确保在释放内存后不再访问相关指针,或使用智能指针等现代C++内存管理技术来避免此类问题。