漏洞背景
安全研究人员BitsByWill近期对Linux内核中的两个高危漏洞CVE-2023-52440和CVE-2023-4130进行了深度分析,这两个漏洞均影响内核级SMB服务器ksmbd。研究表明,攻击者可将这两个漏洞串联利用,形成完整的攻击链。

CVE-2023-52440:可控SLUB溢出漏洞
由DEVCORE团队Pumpkin发现的第一个漏洞存在于ksmbd_decode_ntlmssp_auth_blob()函数中。BitsByWill解释道:"由于sess_key_len参数可由用户控制,在执行cifs_arc4_crypt时可能导致固定大小的sess_key缓冲区溢出。这个漏洞极易触发,能实现可控的SLUB溢出。"
攻击者只需修改Impacket工具包中ntlm.py的一行代码,即可构造恶意的NTLM认证消息,在SMB会话建立过程中引发未经认证的堆溢出。研究人员强调:"这实际上是个非常强大的攻击原语——无需认证即可远程控制堆溢出内容和大小。"
CVE-2023-4130:越界读取漏洞
同样由Pumpkin发现的第二个漏洞位于smb2_set_ea()函数中,源于对扩展属性(EA)缓冲区验证不当。具有SMB共享写入权限的攻击者可诱使ksmbd错误解析精心构造的数据结构。
分析指出:"通过设置恶意的NextEntryOffset值(只要不超过缓冲区边界),就能欺骗ksmbd认为存在额外的smb2_ea_info条目...这将导致后续的ksmbd_vfs_setxattr操作将相邻堆块的越界读取数据存入xattr,攻击者可通过SMB3.queryInfo获取这些数据。"该漏洞提供了内存泄露原语,可帮助攻击者绕过KASLR等防护机制。</

最低0.47元/天 解锁文章
100

被折叠的 条评论
为什么被折叠?



