Sentry敏感头信息在sendDefaultPii设置为true时泄露
漏洞详情
影响
在10.11.0版本中,SDK收集Node.js应用程序请求数据的方式发生变更,导致某些传入的HTTP头被添加为追踪跨度(trace span)属性。当sendDefaultPii: true被设置时,一些先前被脱敏处理的头信息——包括Authorization(授权)和Cookie(Cookie)——被无意中允许通过。
Sentry的服务器端擦除(由Sentry的Relay边缘代理处理)通常作为第二层保护。然而,由于它依赖与SDK相同的匹配逻辑,在这种情况下也未能捕获这些头信息。
在以下情况下,用户可能受到影响:
- 他们的Sentry SDK配置将
sendDefaultPii设置为true。 - 他们的应用程序使用了版本从10.11.0到10.26.0(含)的Node.js Sentry SDK之一:
@sentry/astro@sentry/aws-serverless@sentry/bun@sentry/google-cloud-serverless@sentry/nestjs@sentry/nextjs@sentry/node@sentry/node-core@sentry/nuxt@sentry/remix@sentry/solidstart@sentry/sveltekit
用户可以通过访问Explore → Traces并搜索http.request.header.authorization、http.request.header.cookie或类似内容来检查他们的项目是否受到影响。任何潜在的敏感值将特定于用户的应用和配置。
补丁
该问题已在所有从10.27.0版本开始的Sentry JavaScript SDK中得到修复。
临时解决方案
Sentry强烈建议客户将SDK升级到最新可用版本,即10.27.0或更高版本。
如果无法升级,请考虑将sendDefaultPii设置为false,以避免无意中发送敏感头信息。请参阅此处文档。
资源
-
https://develop.sentry.dev/sdk/expected-features/data-handling/#sensitive-data
-
https://github.com/getsentry/sentry-javascript/releases/tag/10.11.0
-
https://docs.sentry.io/platforms/javascript/guides/node/data-management/data-collected/#cookies
参考
-
GHSA-6465-jgvq-jhgp
-
https://github.com/getsentry/sentry-javascript/releases/tag/10.27.0
-
https://github.com/getsentry/sentry-javascript/releases/tag/10.11.0
安全信息
严重等级:中等 CVSS总体评分:5.1 / 10 弱点:CWE-201 - 将敏感信息插入到发送的数据中