CVE-2026-23257CVE-2026-23257是Linux内核中net: liquidio网络驱动程序的一个中等严重性安全漏洞。该漏洞位于setup_nic_devices()函数的初始化和清理逻辑中,存在一个off-by-one错误。在设备初始化失败时,清理循环未能正确释放所有已分配的资源,导致内存泄漏。具体来说,当初始化过程中的某个步骤失败并跳转到cleanup标签时,清理循环使用while(i--)结构会跳过当前失败的索引i,从而遗漏了对该索引对应资源的释放操作。攻击者通过本地低权限访问,可以触发此漏洞导致系统内存持续消耗,最终可能引发拒绝服务条件。该漏洞需要本地访问权限,但不需要用户交互即可利用。
该漏洞的根本原因在于setup_nic_devices()函数中的资源管理逻辑错误。在初始化循环中,代码使用递增的索引i来分配资源。当某个分配步骤失败时,代码跳转到setup_nic_dev_free标签执行清理操作。然而,清理循环采用while(i--)的结构,这意味着循环会在i变为0之前停止,导致索引i对应的资源未被释放。此外,在devlink_alloc失败路径中,索引i未被正确递减以指向最后成功分配的索引,进一步加剧了资源泄漏问题。攻击者可以通过构造特定的初始化失败场景来触发此漏洞,例如在设备初始化过程中引入错误条件。虽然CVSS评分显示对机密性和完整性无影响,但对可用性产生高度影响,符合内存泄漏导致系统资源耗尽拒绝服务的攻击场景。该漏洞目前仅通过代码审查发现,尚无公开的利用代码。