
CVE-2023-38646는 Metabase의 원격 코드 실행 취약점입니다. 해당 취약점은 Metabase가 인증되지 않은 API 엔드포인트 /api/setup/validate를 처리할 때 JDBC 연결 문자열 처리에 보안 결함이 있어 발생합니다. 공격자는 특정 JDBC 연결 문자열을 구성하여 인증 없이 해당 엔드포인트를 통해 서버에서 임의 명령을 실행할 수 있습니다.
CVE-2023-38646는 Metabase의 원격 코드 실행 취약점입니다. 이 취약점은 Metabase가 인증되지 않은 API 엔드포인트 /api/setup/validate를 처리할 때 JDBC 연결 문자열 처리에 보안 결함이 있어 발생합니다. 공격자는 특정 JDBC 연결 문자열을 구성하여 이 엔드포인트를 통해 서버에서 임의의 명령을 실행할 수 있으며, 인증이 필요하지 않습니다.
구체적으로, 공격자는 먼저 /api/session/properties에 접근하여 setup-token을 획득한 후, 해당 토큰을 이용하여 /api/setup/validate에 악성 JDBC 연결 문자열을 포함한 요청을 전송합니다. Metabase가 이러한 요청에 대한 충분한 보안 검증을 하지 않기 때문에 공격자는 서버 권한 범위 내에서 임의의 코드를 실행할 수 있습니다.
이 취약점이 존재하는 주된 이유는 Metabase가 데이터베이스 연결 구성을 처리할 때 사용자가 입력한 JDBC 연결 문자열에 대해 엄격한 보안 검증을 수행하지 않았기 때문에, 공격자가 정교하게 구성된 요청을 통해 원격 코드 실행을 달성할 수 있기 때문입니다.