Linux内核ksmbd模块曝出零点击远程代码执行漏洞,PoC已公开
Linux内核中的两个高危漏洞CVE-2023-52440和CVE-2023-4130被发现并分析。这两个漏洞影响SMB服务器ksmbd,可被串联利用形成攻击链。第一个漏洞导致可控堆溢出,第二个导致内存泄露。结合后可实现内核入侵并获取反向shell。补丁已发布,但需注意配置和系统更新。 2025-9-15 16:15:57 Author: www.freebuf.com(查看原文) 阅读量:10 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

漏洞背景

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

Linux内核SMB漏洞

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等防护机制。

漏洞组合利用:从溢出到代码执行

最引人关注的是这两个漏洞的串联利用方式。通过将溢出原语(CVE-2023-52440)与泄露原语(CVE-2023-4130)结合,攻击者可获得对内核内存的读写能力。

BitsByWill指出实际影响:"在Linux 6.1.45系统上(6.1.46版本已修复泄露漏洞),攻击者可通过具有共享写入权限的用户账户攻陷ksmbd。虽然需要用户凭证,但我确信至少存在某些系统管理员配置了允许匿名写入的共享。"最终的概念验证(PoC)利用程序成功在内核中执行ROP链,获取了反向shell。

这项研究表明,Linux系统中的SMB漏洞可能被升级为完整的内核入侵。虽然相关补丁已发布,但该事件再次提醒我们:不当配置和过时系统仍会给攻击者可乘之机。

参考来源:

PoC Published: Linux Kernel 0-Click RCE Vulnerability Found in ksmbd

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/system/448784.html
如有侵权请联系:admin#unsafe.sh