CVE-2025-62608MLX是Apple Silicon上用于机器学习的数组框架。在0.29.4之前的版本中,mlx::Core::load()函数在解析恶意构造的NumPy .npy文件时存在堆缓冲区溢出漏洞。攻击者可以通过精心构造的.npy文件触发13字节的越界读取,导致程序崩溃或敏感信息泄露。该漏洞无需认证即可利用,攻击向量为网络,危害极大。MLX框架被广泛应用于Apple设备上的机器学习任务,包括模型推理、数据处理等场景。漏洞存在于文件加载模块,攻击者只需诱导用户或自动化系统加载恶意.npy文件即可触发漏洞。
漏洞位于MLX框架的mlx::Core::load()函数中,该函数负责解析NumPy的.npy文件格式。.npy文件格式包含文件头和实际数据两部分。文件头中包含元数据如数组维度、数据类型等信息。问题出在解析.npy文件头时,代码未正确验证文件头大小与实际数据的边界关系。当解析恶意构造的.npy文件时,程序会分配一个固定大小的堆缓冲区,但在读取文件数据时未进行充分的边界检查,导致读取操作超出分配的缓冲区边界,触发13字节的越界读取(out-of-bounds read)。这种越界读取可能暴露堆内存中的敏感数据,如密钥、令牌或其他已分配对象的内容。攻击者可通过构造特定布局的.npy文件,控制越界读取的偏移量和内容,从而实现信息窃取或导致目标服务崩溃。