事件经过
已在合并的拉取请求上验证(已获取):toolsets_for_source通过分割chat_id上的':'恢复每路由工具集授权,允许名为'build:external'的路由继承'build'工具集;已通过真实aiohttp处理器和签名请求在main分支上复现。已在GHSA-2fmg-cjqm-hhrj中报告。
影响分析
Webhook驱动的agent调用是agent网关的标准集成模式;此解析不一致允许持有单个弱webhook凭证的攻击者访问另一路由的终端/文件工具——在agent主机上实现任意命令/文件访问。
攻击途径
Webhook网关将会话chat_id构建为'webhook:{route_name}:{delivery_id}',并通过分割':'重新推导授权路由,而认证使用精确的URL段;delivery_id由调用者提供(X-GitHub-Delivery、svix-id、X-Request-ID),因此构造的类似'build:external'的路由名解析为路由'build'并继承其特权工具集。
受影响系统
Nous Research Hermes Agent — webhook平台网关(已在PR #115285、GHSA-2fmg-cjqm-hhrj中修复)
缓解措施
应用PR #115285中合并的修复(将toolsets_for_source键基于从认证URL段标记的source.user_id,而非分割chat_id);更新Hermes Agent。