수천 개의 자체 호스팅 Metabase 인스턴스, CVE-2026-72898에 의해 노출됨
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
Metabase 버전 0.58 이후의 치명적인 인증되지 않은 SQL 삽입 취약점은 공격자가 애플리케이션 데이터베이스에 대한 관리자 접근을 얻을 수 있게 합니다. 이 결함은 연결된 데이터베이스 자격 증명의 도난을 가능하게 하고 횡적인 이동을 촉진할 수 있습니다. 공개 이전에 이미 실제 환경에서 악용 사례가 보고되었습니다.
조사
Dataminr의 TRACE 팀은 전 세계 인터넷 스캔을 수행하여 약 11,000개의 자체 호스팅된 Metabase 인스턴스를 식별했으며, 이 중 4,309개가 잠재적 취약성으로 표시되었습니다. 검토 결과, 영향을 받은 브랜치의 97% 이상이 패치되지 않은 것으로 나타났습니다. 몇몇 Metabase Cloud 테넌트는 이미 허가되지 않은 데이터 접근 사고를 공개했습니다.
완화
조직은 즉시 자체 호스팅된 Metabase 배포를 해당 브랜치의 최신 패치 버전으로 업그레이드해야 합니다. 즉시 패치를 적용할 수 없는 경우, 외부에서는 /api/session/reset_password 엔드포인트에 대한 접근을 WAF나 네트워크 제어를 통해 제한해야 합니다. 관리자는 core_session 테이블을 지워 모든 활성 세션을 취소해야 합니다.
응답
탐지 후 조직은 Metabase에 연결된 데이터베이스의 모든 자격 증명을 24시간 내에 교체해야 합니다. 보안 팀은 Metabase 활동 로그, 쿼리 이력, 연결된 데이터베이스 접근 로그를 검토하여 이상한 관리자 행동을 찾는 위협 사냥을 수행해야 합니다. 팀은 또한 패스워드 재설정 엔드포인트가 여전히 신뢰할 수 없는 네트워크에서 접근 가능한지 확인해야 합니다.
공격 흐름
이 부분은 아직 업데이트 중입니다.
탐지
가능성 있는 CVE-2026-72898 (Metabase의 인증되지 않은 SQL 삽입) 악용 시도 (웹 서버를 통해)
Metabase CVE-2026-72898의 인증되지 않은 SQL 삽입 [웹 서버]
시뮬레이션 실행
-
공격 내러티브 및 명령: 공격자는 대상 웹 서버에서 실행 중인 Metabase 인스턴스를 식별했습니다. CVE-2026-72898이 패스워드 재설정 흐름을 통한 인증되지 않은 SQL 삽입을 허용한다는 것을 알고 공격자는 악의적인 POST 요청을 만듭니다. 목표는 페이로드를
/api/session/reset_password엔드포인트로 보내 하위 데이터베이스를 악용하는 것입니다. 이 작업은 특정 URI 및 방법에 의해 정의된 논리에 따라 탐지 규칙을 트리거하도록 설계되었습니다. -
회귀 테스트 스크립트:
#!/bin/bash # CVE-2026-72898 악용 시도를 위한 시뮬레이션 스크립트 # 대상: Metabase /api/session/reset_password 엔드포인트 TARGET_URL="http://localhost/api/session/reset_password" echo "[+] POST 요청을 통한 시뮬레이션된 SQL 삽입 공격 시작..." # POST를 통해 시뮬레이션된 악성 페이로드 전송 # 페이로드는 패스워드 재설정 흐름에 SQL을 삽입하려는 시도의 대표입니다 curl -X POST "$TARGET_URL" -H "Content-Type: application/json" -d '{"email": "admin@example.com", "new_password": "password''' OR 1=1 --"}' echo -e "n[+] 공격 명령 전송. POST /api/session/reset_password의 탐지를 위해 SIEM을 확인하십시오." -
정리 명령:
# curl 명령에 의해 시스템에 영구적인 변경사항은 없습니다. # 클린 상태를 위해 Nginx 로그를 지우려면(프로덕션에서는 주의해서 사용): # sudo truncate -s 0 /var/log/nginx/access.log echo "[+] 정리 완료. 대상 시스템에 아티팩트가 남지 않았습니다."