CVE-2023-53617CVE-2023-53617是Linux内核ASPEED SoC信息(socinfo)驱动中的一个内存泄漏漏洞。该漏洞位于Linux内核的soc/aspeed/socinfo.c文件中,主要问题是在错误处理路径中缺少对kstrdup()分配内存的释放操作(kfree())。当驱动程序使用kstrdup()复制字符串后,如果在后续的错误处理流程中未能正确释放该内存,就会导致内核内存泄漏。攻击者可以通过本地低权限访问触发特定的错误条件,反复触发该漏洞路径,从而持续消耗内核内存资源,最终可能导致系统可用内存耗尽,引发系统不稳定或拒绝服务(DoS)状态。该漏洞的CVSS评分为5.5,属于中危级别,主要影响系统的可用性,对机密性和完整性没有直接影响。该漏洞已于2025年10月7日公开披露,修复补丁已合并到多个Linux内核稳定版本中。
该漏洞的技术原理涉及Linux内核ASPEED socinfo驱动中的内存管理问题。具体而言,在socinfo驱动的初始化或运行时处理过程中,代码调用了kstrdup()函数来动态分配并复制字符串数据。kstrdup()函数内部使用kmalloc()进行内存分配,需要在适当的时候通过kfree()进行释放。然而,原有代码在错误处理路径(如属性创建失败、设备注册失败等异常情况)中,未能正确释放通过kstrdup()分配的内存,导致每次触发错误路径都会泄漏一块内核内存。攻击利用方式相对简单:攻击者只需拥有本地低权限访问权限(PR:L),无需用户交互(UI:N),通过特定的系统调用或触发特定的内核操作,使驱动程序进入错误处理路径,即可造成内存泄漏。由于该漏洞的攻击向量为本地(AV:L),攻击复杂度低(AC:L),攻击者可以通过编写简单的程序反复触发该路径,持续消耗内核内存。随着时间的推移,泄漏的内存会不断累积,最终可能导致内核内存耗尽,引发系统性能下降甚至崩溃。值得注意的是,该漏洞的可用性影响为高(A:H),这反映了内存泄漏在极端情况下可能导致的严重后果。修复方案是在错误处理路径中添加kfree()调用,确保所有通过kstrdup()分配的内存都能被正确释放。