CVE-2026-23282Linux内核SMB客户端组件存在安全漏洞。在smb2_unlink()函数执行过程中,若SMB2_open_init()或SMB2_close_init()调用失败(例如在网络重连场景下),将导致rqst结构体中的iovs变量未被初始化。随后尝试调用SMB2_open_free()、SMB2_close_free()或smb2_set_related()等函数处理这些未初始化变量时,会触发内核oops,导致系统崩溃。
该漏洞位于Linux内核的SMB客户端实现代码中,具体涉及文件删除操作时的错误处理路径。在smb2_unlink()函数中,代码需要准备打开和关闭文件的请求。如果初始化函数(SMB2_open_init或SMB2_close_init)返回失败,代码流程进入错误处理分支。由于在将@close_iov和@open_iov设置到@rqst之前未对其进行初始化,导致后续的清理函数(如SMB2_open_free)尝试访问无效内存地址。这种未初始化变量的使用会导致内核空指针解引用或非法内存访问,进而引发系统崩溃。修复方案是在设置请求之前预先初始化这两个变量。