漏洞总结:WeCom Adapter 中的任意文件读取漏洞 漏洞概述 漏洞编号:#8733 产品名称:hermes-agent 组件:gateway/platforms/wecom.py 漏洞类型:CWE-22: 路径遍历(Improper Limitation of a Pathname to a Restricted Directory) 严重程度:高 CVSS 3.1 评分:7.5 (High) CVSS 向量:AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N 攻击向量:网络(通过 WeCom 消息) 受影响代码行:wecom.py 第 834-976 行 报告日期:2026-04-09 核心问题:WeChat Work 平台适配器在处理 URL 时,未验证解析后的文件路径是否在允许的目录内,导致攻击者可通过构造恶意消息读取服务器上的任意文件(包括敏感配置文件、SSH 密钥和 API 凭证)。 影响范围 机密性:任意文件读取 — 可获取 API 密钥、SSH 密钥、系统配置 数据外泄:文件内容可被发送至 WeCom 服务器(第三方控制)或通过 API 返回 横向移动:窃取的 SSH 密钥或 API 令牌可用于访问其他系统 凭证窃取: 中包含明文 LLM API 密钥(已确认) 修复方案 在读取文件前添加目录边界验证: 概念验证 (POC) 代码 攻击场景 1. 攻击者发送一条 WeCom 消息,触发代理响应媒体附件 2. 代理响应包含指向敏感文件的 媒体源 URL 3. WeCom 适配器读取文件并上传至 WeCom API 4. 攻击者通过 WeCom 对话接收文件内容 替代攻击路径:若代理被提示使用特定文件路径(如通过提示注入或技能操纵),攻击者可针对以下文件: — 系统用户列表 — 进程环境变量(Linux) — 所有 API 密钥和秘密 参考 CWE-22: Path Traversal OWASP Path Traversal