首页 网络安全 正文
  • 本文约1465字,阅读需7分钟
  • 180
  • 0

Sentry 泄露应用程序集成客户端机密CVE-2024-53253

摘要

栋科技漏洞库关注到Sentry 24.11.0版本存在一个漏洞,因不当错误处理泄露导致应用程序集成客户端机密漏洞被追踪为CVE-2024-53253。

Sentry是一个实时的事件日志和聚合平台,基于Django构建,用于自动记录Python程序的所有exception,在一个好用的UI上呈现和搜索。

Sentry本质上是服务器端应用程序,接收客户端(如Web应用程序、移动应用程序或后端服务)的错误日志,对日志聚合、分析和可视化。

一、基本情况

Sentry是一款错误跟踪和性能监控平台,处理 exception 是每个程序的必要部分,因此来说 Sentry 也几乎可以说是所有项目的必备组件。

Sentry提供了详细的错误报告,包括堆栈跟踪、发生错误的上下文(如用户信息、设备信息、环境变量等),以及错误发生的频率和趋势。

Sentry 泄露应用程序集成客户端机密CVE-2024-53253

栋科技漏洞库关注到Sentry 24.11.0版本存在一个漏洞,因不当错误处理泄露致应用程序集成客户端机密漏洞,追踪为CVE-2024-53253。

二、漏洞分析

CVE-2024-53253仅存在于 Sentry 24.11.0 版本中,Sentry平台生成的特定错误信息可能包含应用程序集成的明文Client ID和Client Secret。

这些错误信息不会显示在用户界面上,但会返回给最终用户的底层HTTP响应中,可能导致Client Secret暴露,攻击者可获取ID和Secret。

这种情况可能发生在以下条件下:

应用程序安装使用带有`async`标志设置为true(默认为true)的Search UI组件;

用户输入搜索组件中的内容,从而创建对第三方的搜索或查询结果的请求;

第三方响应可能无法通过验证,Sentry将返回带有集成Client Secret的序列化版本的`select-requester.invalid-response`错误代码。

对于常规用户来说很难观测到此种错误,这些错误信息被返回到最终用户底层HTTP响应中,尽管如此也可能导致集成Client Secret暴露。

当然,仅凭明文Client ID和Client Secret不足以允许攻击者直接访问任何数据,攻击者要滥用该秘密还需获取有效Sentry应用程序API令牌。

对Sentry SaaS用户而言,因仅有一个应用程序集成受影响且其拥有者已更换Client Secret,没有滥用泄露情况,因此无需采取任何行动。

对Sentry自托管用户而言,其不包含任何应用程序集成,可能只影响维护自己的集成自托管用户,已提供修复方案(pull request 81038)。

这种情况下,可以搜索`select-requester.invalid-response`事件确定漏洞影响,但需要注意的是,此漏洞还与本咨询无关的其他事件共享。

当然,Sentry自托管用户还需审查每个命名事件的记录参数,可以通过查看`select_requester.py`进行,以了解这些错误可能发生的实例。

随着安全修复程序的应用,这已经不再是一个共享的事件类型,因此自托管用户不应当安装版本24.11.0,而应等待官方更新下一个版本。

而对于已经运行受影响版本的自托管实例,则可以显考虑降级到版本24.10.0。

三、影响范围

Sentry 24.11.0

四、修复建议

建议更新当前系统或软件至最新版,完成漏洞的修复。

五、参考链接

https://github.com/getsentry/sentry/pull/79377

https://github.com/getsentry/sentry/pull/81038

https://github.com/getsentry/sentry/security/advisories/GHSA-v5h2-q2w4-gpcx

评论
更换验证码
友情链接