🇰🇷 한글 설명
Sentry의 Slack 통합 기능이 들어오는 요청 본문을 로그에 잘못 기록하여, 폐기된 Slack 검증 토큰과 같은 민감한 정보가 노출될 수 있는 취약점입니다. 공격자는 노출된 토큰을 이용해 특정 설정 환경에서 요청을 위조하고 Slack 통합 기능인 것처럼 행동할 수 있습니다.
💡 쉬운 설명
Sentry라는 프로그램이 Slack과 연결될 때, 보안에 중요한 비밀번호를 기록(로그)에 남겨버리는 실수입니다. 이 기록을 본 해커가 가짜 요청을 보내 시스템을 속일 수 있습니다.
🇺🇸 원문 (English)
Sentry is a developer-first error tracking and performance monitoring platform. Sentry's Slack integration incorrectly records the incoming request body in logs. This request data can contain sensitive information, including the deprecated Slack verification token. With this verification token, it is possible under specific configurations, an attacker can forge requests and act as the Slack integration. The request body is leaked in log entries matching `event == "slack.*" && name == "sentry.integrations.slack" && request_data == *`. The deprecated slack verification token, will be found in the `request_data.token` key. **SaaS users** do not need to take any action. **Self-hosted users** should upgrade to version 24.5.0 or higher, rotate their Slack verification token, and use the Slack Signing Secret instead of the verification token. For users only using the `slack.signing-secret` in their self-hosted configuration, the legacy verification token is not used to verify the webhook payload. It is ignored. Users unable to upgrade should either set the `slack.signing-secret` instead of `slack.verification-token`. The signing secret is Slack's recommended way of authenticating webhooks. By having `slack.singing-secret` set, Sentry self-hosted will no longer use the verification token for authentication of the webhooks, regardless of whether `slack.verification-token` is set or not. Alternatively if the self-hosted instance is unable to be upgraded or re-configured to use the `slack.signing-secret`, the logging configuration can be adjusted to not generate logs from the integration. The default logging configuration can be found in `src/sentry/conf/server.py`. **Services should be restarted once the configuration change is saved.**
📍 영향받는 시스템
Sentry Self-hosted (24.5.0 미만 버전)
⚔️ 공격 벡터
로그에 노출된 Slack 검증 토큰을 탈취하여 Slack 통합 요청을 위조함
🛡️ 대응 방법
Sentry를 24.5.0 이상으로 업그레이드하고, Slack 검증 토큰을 교체한 뒤 Slack Signing Secret을 사용하도록 설정하십시오.
🔧 검증 코드
출력된 Sentry 버전이 24.5.0 미만인지 확인합니다.
curl -s http://<SENTRY_HOST>/api/0/system/ | grep -i 'version'