🇰🇷 한글 설명
Mastodon의 관리자 통계 엔드포인트에서 권한 확인이 복잡한 계산 작업이 시작된 이후에 이루어지는 취약점이 발견되었습니다. 익명의 공격자가 특정 파라미터를 사용하여 실행 시간이 긴 SQL 쿼리를 반복적으로 요청함으로써 서버 자원을 고갈시킬 수 있습니다.
💡 쉬운 설명
로그인하지 않은 사용자도 서버에 아주 복잡하고 힘든 계산을 시킬 수 있는 허점이 있습니다. 이를 악용해 반복적으로 요청을 보내면 서버가 과부하에 걸려 멈출 수 있습니다.
🇺🇸 원문 (English)
Mastodon is a free, open-source social network server based on ActivityPub. Prior to 4.4.21, 4.5.14, 4.6.4, and 4.7.0-beta.1, the administrative statistics endpoints handled by Api::V1::Admin::MeasuresController and Api::V1::Admin::RetentionController checked authorization only after beginning expensive calculations. Anonymous callers could submit keys, start_at, and end_at parameters that caused long-running SQL queries in Admin::Metrics::Measure, Admin::Metrics::Retention, and Admin::Metrics::Dimension::BaseDimension, allowing repeated requests to exhaust server resources. This issue is fixed in versions 4.4.21, 4.5.14, 4.6.4, and 4.7.0-beta.1.
📍 영향받는 시스템
Mastodon 4.4.21, 4.5.14, 4.6.4, 4.7.0-beta.1 미만 버전
⚔️ 공격 벡터
인증되지 않은 사용자가 통계 엔드포인트에 조작된 파라미터를 포함한 요청을 반복 전송
🛡️ 대응 방법
Mastodon을 최신 보안 패치가 적용된 버전(4.4.21, 4.5.14, 4.6.4, 4.7.0-beta.1 이상)으로 업데이트
🔧 검증 코드
출력된 버전이 취약점이 해결된 버전(4.4.21, 4.5.14, 4.6.4, 4.7.0-beta.1 이상)인지 확인
gem list mastodon | grep -E '(\(4\.[4-5]\.[0-9]+|4\.[6-7]\.[0-9]+)'