CVE-2025-13709CVE-2025-13709是腾讯TFace人脸识别框架中的一个高危安全漏洞。该漏洞存在于restore_checkpoint函数中,由于缺乏对用户提供的输入数据的适当验证,导致可进行不受信任数据的反序列化操作。攻击者可以通过构造恶意的序列化数据,在目标系统上以root权限执行任意代码。
此漏洞需要用户交互才能被利用,攻击场景包括:目标用户访问包含恶意payload的网页,或打开包含恶意数据的文件。由于攻击向量为本地(AV:L),攻击者需要能够向目标系统提供特制的输入数据。
该漏洞由ZDI(Zero Day Initiative)披露,编号为ZDI-CAN-27185。由于TFace是腾讯开源的人脸识别框架,被广泛应用于多种产品和项目中,因此该漏洞可能影响大量使用该框架的系统。CVSS 3.0评分7.8(高危)表明该漏洞具有严重的机密性、完整性和可用性影响。
腾讯安全团队在收到漏洞报告后,已在GitHub上发布修复补丁(commit: 7b2eed297d43dcdd1e3d45bfdfc950478e3af5d9)。建议所有使用TFace框架的用户立即升级到最新版本,以防止潜在的攻击利用。
该漏洞的核心问题在于TFace框架的restore_checkpoint函数缺乏对反序列化操作的输入验证。restore_checkpoint函数设计用于从检查点文件恢复模型状态,但在实现过程中直接使用了不安全的反序列化方法,没有对输入数据进行充分的校验。
具体技术细节:
1. 漏洞位于restore_checkpoint函数,该函数在恢复模型检查点时调用反序列化操作
2. 函数没有实现输入数据的长度和格式验证机制
3. 攻击者可以通过提供精心构造的序列化对象来触发恶意代码执行
4. 由于反序列化发生在高权限上下文(root),攻击成功可获得系统完全控制权
利用方式:
攻击者需要构造一个包含恶意payload的序列化对象,该对象在反序列化过程中触发代码执行。常见的利用手法是使用Python的pickle模块配合__reduce__魔术方法来实现任意代码执行。攻击者将构造好的恶意序列化数据注入到检查点文件中,当目标系统调用restore_checkpoint加载该文件时,即可在服务器上执行任意命令。
影响范围:
所有使用TFace框架且启用了检查点恢复功能的应用程序都可能受到影响。攻击者可以通过上传恶意检查点文件或诱导用户加载恶意数据来触发漏洞。