文章总结: Samba打印子系统存在远程代码执行漏洞CVE-2026-4480(CVSS9.8),影响4.1.0至4.24.3版本。漏洞源于打印作业描述字符串通过%J参数拼接至系统命令时未充分转义Shell元字符,导致未认证攻击者可执行任意命令。公开数据显示超15万台实例可能受影响。建议立即升级至4.22.10/4.23.8/4.24.3或通过单引号包裹%J参数、移除未使用参数进行临时缓解。 综合评分: 88 文章分类: 漏洞分析,漏洞预警,解决方案,应急响应,WEB安全
【复现】Samba打印子系统远程代码执行漏洞(CVE-2026-4480)
启明星辰 启明星辰
ADLab
2026年6月9日 17:38 北京
在小说阅读器读本章
去阅读
更多安全资讯和分析文章请关注启明星辰ADLab微信公众号及官方网站(adlab.venustech.com.cn)
Samba是一款开源的SMB/CIFS协议实现软件,主要用于在Linux和Unix系统上实现与Windows系统的文件和打印资源共享。其打印子系统允许客户端通过网络向服务器提交打印任务,是企业内网文件共享和打印服务的核心组件之一。
Samba打印子系统远程代码执行漏洞(CVE-2026-4480)于2026年5月26日公开,CVSS 3.1评分9.8分。官方描述指出:Samba打印子系统将客户端可控的作业描述字符串通过“%J”替换字符传递给“print command”配置项所指定的命令时,未对字符串中的Shell元字符进行转义处理。未经身份认证的远程攻击者可通过发送包含未转义Shell元字符的特制打印作业描述,在服务器上执行任意操作系统命令,从而完全控制受影响的服务器。
根据攻击面管理平台Censys查询数据,截至2026年6月8日,互联网上存在156,608个潜在的易受攻击Samba实例。由于该漏洞技术细节已公开,攻击利用可能性较高,对于使用Samba打印服务的组织而言构成直接且严重的风险。
- ## 漏洞描述
此漏洞是操作系统命令注入漏洞,漏洞核心位于Samba打印子系统的命令处理逻辑中。
Samba的打印子系统中,当打印作业完成假脱机后,Samba会通过系统命令调用机制执行smb.conf中配置的print command。该命令字符串支持%J替换符,它会被替换为客户端提交的打印作业描述字符串,并在命令构造过程中直接拼接进入最终执行的Shell命令。
然而,Samba对%J中用户可控内容未进行完整的转义或过滤处理——仅对单引号进行了替换(如替换为下划线),但该处理方式不足以防御命令注入攻击。管道符、分号、反引号、$()、&、<、> 等Shell元字符仍可能在后续Shell解析过程中被解释为额外命令,从而造成注入风险。
- ## 影响版本
4.1.0 <= Samba < 4.22.10
4.23.0 <= Samba < 4.23.8
4.24.0 <= Samba < 4.24.3
漏洞原理
该漏洞的本质在于Samba打印服务在处理用户可控的打印任务信息时,会将打印任务名称中的内容通过%J参数拼接到后端打印命令中,并交由Shell解析执行:
同时代码缺少对特殊字符的安全过滤或转义,仅替换了单引号,对于其他特殊字符并没有进行处理,这将导致注入的字符串中若包含如管道符等其他字符时,该转义机制对其完全无效:
因此攻击者可以伪造一个包含诸如“;、&&、|”等字符的打印任务名称,并通过网络向Samba服务器提交该打印请求。当Samba调用底层打印程序时,这些恶意字符会被Shell当作额外命令解析,从而触发任意命令执行。
- ## 漏洞复现
通过docker创建Samba漏洞复现环境:
攻击端启动Netcat监听程序,接收目标主机建立的反向Shell连接:
运行poc脚本并查看Netcat监听程序,成功获取反向Shell:
- ## 安全建议
(1)官方安全更新(推荐)
Samba官方已发布修复版本,建议更新至以下版本:
- Samba >= 4.22.10
- Samba 4.23.x >= 4.23.8
- Samba 4.24.x >= 4.24.3
(2)临时缓解措施
在无法立即完成升级的情况下,可采取以下临时缓解措施降低漏洞被利用的风险:
- 管理员可在smb.conf的print command配置中,对%J参数进行一定程度的隔离处理,例如使用单引号包裹(如’%J’),以降低Shell对部分特殊字符的解析风险。
- 如果业务场景不依赖打印作业描述信息,建议直接从print command配置中移除%J参数,从而减少外部可控输入进入系统命令执行流程的可能性,进一步降低攻击面。
参考链接:
[1] https://nvd.nist.gov/vuln/detail/CVE-2026-4480
[2] https://github.com/TheCyberGeek/CVE-2026-4480-PoC
[3] https://download.samba.org/pub/samba/stable/samba-4.15.13.tar.gz
启明星辰积极防御实验室(ADLab)
ADLab成立于1999年,是中国安全行业最早成立的攻防技术研究实验室之一,微软MAPP计划核心成员,“黑雀攻击”概念首推者。截至目前,ADLab已通过 CNVD/CNNVD/NVDB/CVE累计发布安全漏洞7000余个,持续保持国际网络安全领域一流水准。实验室研究方向涵盖基础安全研究、电信运营商基础设施安全研究、移动终端安全研究、云安全研究、信创安全研究、物联网安全研究、车联网安全研究、工控安全研究、数据安全研究、5G安全研究、AI安全研究、卫星安全研究、低空安全研究、高级威胁研究、攻防体系建设。研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:ADLab 启明星辰 启明星辰《【复现】Samba打印子系统远程代码执行漏洞(CVE-2026-4480)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论