Aegra IDOR CVE-2026-44504 暴露共享租户间数据
CVE-2026-44504: Aegra 在 0.9.7 版本之前允许经过身份验证的攻击者通过跨租户IDOR读取检查点状态并向其他用户的线程注入消息。补丁已可用。

执行摘要
Aegra,一个开源的LangSmith部署替代品,在0.9.7版本之前的版本中出现了跨租户不安全的直接对象引用(IDOR)漏洞。该漏洞被追踪为CVE-2026-44504,允许任何在共享Aegra实例上认证的攻击者执行针对另一个用户线程的图运行,读取完整的检查点状态,并注入任意消息到对话历史中——只需提供一个属于该用户的有效的thread_id。该通告于2026-05-14通过GitHub安全通告(GHSA-m98r-6667-4wq7)发布。截至本文撰写时,尚未分配CVSS分数,但影响是直接的:在多用户部署中缺少租户隔离。
技术分析
该漏洞存在于Aegra的线程级操作授权层。根据通告,平台没有验证请求特定thread_id的认证用户实际上是否拥有或有权访问该线程。拥有有效会话的攻击者可以枚举或猜测thread_id值——这些值通常是UUID,但根据生成逻辑可能可预测——然后:
- 对受害者的线程执行图运行,消耗计算资源,并可能操纵正在进行的AI工作流的状态。
- 读取完整的检查点状态,包括对话历史、中间结果以及存储在线程上下文中的任何数据。
- 向对话历史中注入任意消息,使数据投毒攻击或针对线程所有者的社会工程成为可能。
Aegra旨在为需要自托管替代LangSmith部署和监控功能的团队提供服务。共享实例模型,即多个租户(用户或团队)在同一Aegra服务器上运行,是项目文档中明确描述的用例。通告指出,该漏洞只影响有多个认证用户的部署——单用户实例不会面临此风险。
该问题在线程访问控制的初始实现中引入,并持续到0.9.6版本。在0.9.7版本中发布的修复增加了一个权限检查,以验证线程所有权,然后才允许读取或写入操作。通告归功于内部安全审查的发现;截至2026年5月15日,尚未报告任何公开的概念验证或野外利用。
缓解措施与建议
运行共享Aegra实例的管理员应立即升级到0.9.7或更高版本。更新可通过项目的GitHub发布和标准包注册表获得。对于无法及时升级的组织,唯一有效的变通办法是将Aegra限制为单用户部署,或在网络层面上按租户隔离实例——例如,通过在反向代理后运行单独的Docker容器来强制执行基于租户的路由。通告没有列出任何基于配置的缓解措施,可以在不修复代码的情况下阻止IDOR。
防御者应审计Aegra访问日志中的异常thread_id请求——具体来说,任何单一用户在短时间内访问大量不同线程ID的模式,或以顺序或可预测的顺序访问线程ID。此类活动可能表明枚举尝试。然而,由于IDOR绕过了授权,成功的利用在日志中会显示为正常的线程访问事件,因此没有应用层监控,检测将变得困难。
订阅更新
将最新的网络安全资讯直接发送到您的邮箱。

