远程代码执行(RCE)
Samba打印命令注入漏洞
"一个打印作业名称绝不应该成为一条shell命令。"
CVE-2026-4480 是一个影响Samba打印子系统的严重命令注入漏洞。
在特定配置下,Samba可能会将用户控制的打印作业名称(%J)直接传入shell命令而未进行充分的转义或验证,从而可能允许攻击者在受影响服务器上执行任意命令。
| 字段 | 值 |
|---|---|
| CVE ID | CVE-2026-4480 |
| 严重性 | 🔴 严重 |
| CVSS评分 | 10.0 |
| CWE | CWE-78 |
| 类型 | 操作系统命令注入 |
| 影响 | 远程代码执行 |
| 受影响产品 | Samba |
| 披露年份 | 2026 |
当Samba配置了类似以下的自定义打印命令时,就会发生此问题:
print command = lp -t %J %s
%J参数扩展为客户端提供的打印作业名称。如果此值未经适当转义或验证就传递给shell解释器,特殊字符可能会改变命令执行行为。
成功利用可能允许攻击者:
| 分支 | 之前版本存在漏洞 |
|---|---|
| 4.22.x | < 4.22.10 |
| 4.23.x | < 4.23.8 |
| 4.24.x | < 4.24.3 |
Samba 4.22.10
Samba 4.23.8
Samba 4.24.3
以及更新版本
+ Upgrade Samba immediately
+ Review all print command configurations
+ Restrict access to shared printers
+ Disable unnecessary printing services
+ Monitor logs for suspicious print job names
检查自定义打印命令:
grep -Ri "print command" /etc/samba/
检查结果中是否使用了:
%J
在shell执行的命令中。
Attacker
│
▼
Submit Print Job
│
▼
User-Controlled Job Name (%J)
│
▼
Shell Command Execution
│
▼
Remote Code Execution
此仓库仅供以下用途:
不包含任何漏洞利用代码或攻击性工具。
⭐ 如果此仓库对您的研究有帮助,请考虑点星。
| 类别 | 值 |
|---|
| CWE | 78 |
| 攻击向量 | 网络 |
| 所需权限 | 低 / 取决于配置 |
| 用户交互 | 无 |
| 机密性影响 | 高 |
| 完整性影响 | 高 |
| 可用性影响 | 高 |