新闻
News Today
Linux内核KSMBD曝高危漏洞:无补丁公开引发安全担忧
10月21日至22日,Trend Micro旗下零日计划(ZDI)向Linux内核邮件列表(LKML)提交了六份漏洞报告。其中两份涉及内核自带SMB文件服务模块KSMBD,CVSS评分均为9.0,可导致远程代码执行(RCE)。值得注意的是,其中一处漏洞无需身份认证,仅需连接445端口即可利用。
目前,内核主干及linux-next分支中均无修复代码,也未分配CVE编号。按照惯例,此类高危报告应通过私有安全邮件列表提交,待补丁就绪后再公开。然而,此次报告直接发布在公开的LKML上,导致攻击细节暴露而防御方暂无补丁可用。
高危漏洞技术细节分析
1. 无需认证的竞态条件漏洞(ZDI-CAN-33774)
该漏洞源于KSMBD协议分发环节的竞态问题。服务端在请求入队时选定处理函数,但工作线程执行时才读取选择。攻击者可在同一TCP写入中先发送短SMB1报文,紧随SMB2报文,将连接切换至SMB2处理路径,而SMB1缓冲区尚未消费完毕,导致SMB2代码越界读取小缓冲区边界。据报道,越界读取的内核堆内容可能随错误回复返回给攻击者。此外,报告还提及一条需共享目录访问权限的越界写路径。
2. SMB Direct整数下溢漏洞(ZDI-CAN-33549)
SMB Direct是基于RDMA传输SMB流量的方式,主要用于数据中心。客户端可构造特殊的RDMA缓冲区描述符,使第一项长度超过声明载荷,导致服务端大小计数器整数下溢并回绕为极大值,进而引发后续内存拷贝越界。利用此漏洞需宿主机具备RDMA接口、可写共享及协商SMB Direct,门槛相对较高。
3. 其他低风险漏洞
其余四份报告涉及网络栈skb_zerocopy本地提权、VMware虚拟GPU驱动越界写、NVMe target驱动信息泄露及ConnMan栈溢出。这些漏洞均需本地权限,属于提权类风险,不影响外部可达面。
影响范围与排查建议
KSMBD并非Samba,而是三星主导开发的兼容实现,两者代码不共享。运行Samba的企业服务器不受影响。KSMBD在内核配置中默认关闭,常见于家用NAS、单板计算机及设备固件中以降低开销。
排查与缓解措施:
- 确认状态:首先检查系统是否加载KSMBD模块。
- 非必要禁用:若业务不需要,卸载模块(modprobe -r ksmbd)并加入黑名单防止开机加载。
- 必要保留:若必须使用,应将445端口从公网移除,限制源地址白名单,并禁用guest访问。建议关闭SMB1协商以规避第一个漏洞的触发条件;若非必需,关闭SMB Direct以消除第二个漏洞的前置条件。
披露流程争议与行业反思
稳定内核维护者Greg Kroah-Hartman对此次公开披露表示不满,指出未附带补丁的公开报告会阻碍修复进程。这一事件反映了AI漏洞扫描工具带来的新挑战。根据今年5月更新的Linux安全文档,AI发现的漏洞视为已公开,应直接发送给子系统维护者,以避免私有列表被重复报告淹没。然而,此次ZDI提交的报告缺乏补丁,导致两个高危漏洞在无修复方案的情况下公开。
ZDI给予厂商120天修复期,而内核社区要求公开已知漏洞立即修复或短期禁运,两者的时间表冲突加剧了这一局面。目前,由于没有CVE编号,传统扫描器无法识别这些风险,企业需依靠网络侧控制,如收敛445端口暴露面、监控异常流量模式来进行防御。
尽管暂无在野利用报告,但鉴于KSMBD过往的安全记录,风险不容忽视。未来,“细节公开、补丁滞后”的窗口期可能成为常态,企业应提前准备通过网络控制手段压制风险,而非单纯依赖内核更新。
来源:Phoronix

