
설정(setup) 엔드포인트에서 인증되지 않은 SQL 인젝션을 수정합니다. 원시 JDBC 쿼리를 ORM 파라미터화와 상수 시간(constant-time) 토큰 검증으로 대체합니다.
이 저장소는 자체 호스팅 Metabase 인스턴스의 setup 엔드포인트에서 발생하는 인증되지 않은 SQL 인젝션 취약점인 CVE-2026-72898에 대한 핫픽스를 포함합니다.
패치를 적용하지 않으면 공격자가 setup 토큰 검증을 우회하고, 임의의 데이터베이스 명령을 실행하며, 데이터 웨어하우스 자격 증명을 탈취할 수 있습니다.
validate-setup-token 함수는 이전에 검증되지 않은 사용자 입력을 받아들여 이를 원시 JDBC 문자열에 직접 연결했습니다. 이로 인해 공격자가 SQL 문자열을 벗어나 악성 명령을 추가할 수 있었습니다.
이 패치는 SQL 인젝션 벡터를 무력화하기 위해 검증 메커니즘을 근본적으로 전환합니다:
t2)로 마이그레이션합니다.crypto.equality/eq?를 사용하여 데이터베이스가 아닌 애플리케이션 메모리(Clojure)에서 토큰을 비교합니다.crypto.equality/eq? 함수는 일정한 시간에 실행되므로 공격자가 타이밍 차이를 통해 토큰을 무차별 대입하는 것을 방지합니다.metabase.api.setup의 취약한 원시 jdbc/query 로직을 대체합니다.
Metabase는 AGPL에 따라 라이선스가 부여됩니다. 이 패치는 동일한 조건으로 제공됩니다.