今天,crates.io 团队发现 `cargo_session` Cookie 的内容被持久化到我们的错误监控服务 Sentry 中,作为 crates.io 后端发生错误时发送的事件载荷的一部分。此 Cookie 的值是一个签名值,用于标识当前登录的用户,因此这些 Cookie 值可能被用来冒充任何已登录用户。
Sentry 的访问权限仅限于 crates.io 团队、Rust 基础设施团队和 crates.io 值班团队中经过信任的部分成员,这些成员本身已拥有 crates.io 生产环境的访问权限。目前没有证据表明这些值曾被访问或使用过。
尽管如此,出于谨慎考虑,我们今天已采取了以下行动
- 我们已合并并部署了一项更改,以从所有 Sentry 事件中删除所有 Cookie 值。
- 我们已使所有已登录的会话失效,从而使存储在 Sentry 中的 Cookie 变得无效。实际上,这意味着每个 crates.io 用户都已从其浏览器会话中被登出。
请注意,API 令牌**不受**此事件影响:它们通过 `Authorization` HTTP 头传输,并且在事件存储到 Sentry 之前就已经被正确地删除了。所有现有的 API 令牌将继续有效。