🇰🇷 한글 설명
Grafana 서버 로그 또는 로그 저장소에 대한 읽기 권한을 가진 사용자는 Generic OAuth, Google, GitLab 제공자로 로그인한 사용자의 OAuth/OIDC 액세스, 리프레시, ID 토큰을 복구할 수 있습니다. Grafana는 액세스 토큰이나 ID 토큰이 유효한 JWT가 아니거나, ID 토큰이 없거나(디버그 레벨), 문자열이 아닌 경우 이 토큰들을 마스킹 없이 로그에 기록합니다. 노출 범위는 설정된 OAuth 클라이언트에 부여된 스코프에 의해 제한됩니다.
💡 쉬운 설명
Grafana가 로그인 과정에서 사용하는 인증 토큰을 로그 파일에 그대로 기록하는 문제입니다. 로그를 볼 수 있는 사람은 이 토큰을 이용해 다른 사용자의 계정 권한을 악용할 수 있습니다.
🇺🇸 원문 (English)
A user with read access to Grafana's server logs, or to a log store they are shipped to, can recover the OAuth and OIDC access, refresh and ID tokens of users who sign in through the Generic OAuth, Google or GitLab providers. Grafana writes these tokens to its logs unredacted when an access or ID token is not a valid JWT, when the ID token is missing (at debug level) or is not a string (exposure of sensitive information in log files). The exposure is bounded by the scopes granted to the configured OAuth client.
📍 영향받는 시스템
Grafana (Generic OAuth, Google, GitLab 인증 연동을 사용하는 버전, 패치 이전 버전 - 정확한 영향 버전은 공식 보안 공지 확인 필요)
⚔️ 공격 벡터
로그 파일 또는 로그 수집 저장소에 읽기 권한을 가진 공격자가 로그에서 OAuth/OIDC 토큰을 찾아 탈취한 후 해당 토큰으로 사용자를 가장
🛡️ 대응 방법
Grafana를 공식 패치된 최신 버전으로 업그레이드하고, 노출 가능성이 있던 토큰을 폐기 후 재발급하며, 로그 접근 권한을 최소화
🔧 검증 코드
출력된 버전이 CVE-2026-79656 패치가 적용된 버전 이상인지 공식 보안 공지와 비교하고, 낮으면 취약한 것으로 판단
grafana-server -v 2>/dev/null || grafana -v 2>/dev/null