CVE-2025-54330CVE-2025-54330是三星猎户座Exynos 1380移动处理器中NPU(神经网络处理单元)驱动程序的安全漏洞。该漏洞存在于NPU驱动程序的核心函数__is_done_for_me中,由于对q->bufs[]缓冲区的边界检查不当,导致存在Out-of-bounds Read(越界读取)问题。攻击者可以利用该漏洞在无需认证的情况下,通过构造特定的NPU作业请求,触发驱动程序的边界检查缺陷,从而读取内核内存中的敏感数据。CVSS 3.1基础评分5.3分,属于中等严重程度,主要影响系统的机密性。由于该漏洞可通过网络远程利用,且无需用户交互或特殊权限,因此对使用搭载Exynos 1380处理器的三星移动设备用户构成潜在安全风险。漏洞于2025年7月前被披露,随后三星发布了安全更新以修复此问题。
该漏洞的根本原因在于NPU驱动程序中的缓冲区管理机制存在边界验证缺陷。在__is_done_for_me函数中,代码需要检查特定NPU作业是否完成,过程中需要访问作业关联的缓冲区队列q->bufs[]。然而,由于缺乏充分的边界检查逻辑,当处理异常或恶意构造的作业状态时,函数可能访问数组边界之外的内存位置。q->bufs[]是一个用于存储NPU作业相关数据缓冲区的数组,其大小在驱动程序初始化时确定。正常情况下,函数应验证索引值在有效范围内(0到队列大小减1),但当前实现中存在检查缺失或绕过路径。攻击者可以通过以下方式利用:1)向NPU子系统提交特制的作业请求,设置异常的缓冲区引用;2)触发作业状态查询,强制驱动程序执行__is_done_for_me函数;3)利用缺失的边界检查,使函数访问q->bufs[]数组边界之外的内存地址;4)读取内核堆内存中的任意数据,可能包括密钥、凭证或其他敏感信息。这种越界读取不会导致程序崩溃,但会静默地泄露内核内存内容,构成严重的信息泄露风险。