
Datart v1.0.0-rc.3의 정보 노출 취약점으로 인해 인증된 공격자가 사용자 지정 H2 JDBC 연결 문자열을 통해 민감한 데이터에 접근할 수 있습니다.
CVE ID: CVE-2025-70829
제품: Datart
버전: v1.0.0-rc.3
취약점 유형: 정보 노출
Datart v1.0.0-rc.3의 정보 노출 취약점으로 인해 인증된 공격자가 사용자 정의 H2 JDBC 연결 문자열을 통해 민감한 데이터에 접근할 수 있습니다. 공격자가 애플리케이션을 자체 내부 데이터베이스 파일에 연결하도록 유도하면, 사용자 자격 증명과 구성 세부 정보가 포함된 시스템 테이블을 쿼리할 수 있습니다.
jdbc:h2:file:./bin/h2/datart.demo;MODE=MySQL
공격자는 데이터베이스에서 사용자의 비밀번호 해시를 검색하여 유효한 JWT 토큰을 위조하고 임의의 사용자(예: 관리자)로 가장할 수 있습니다. 이는 애플리케이션이 하드코딩된 비밀 키(d@a$t%a^r&a*t)를 사용하고 토큰 페이로드에 비밀번호 해시의 Java hashCode()를 포함하기 때문입니다.
SQL 쿼리:
SELECT id, username, email, password, name FROM user;
악용: 검색된
password해시를jwttest.py와 함께 사용하여 임의 사용자 로그인을 위한 유효한Bearer토큰을 생성합니다.
공격자는 또한 연결된 다른 데이터 소스의 구성을 검색할 수 있습니다.
SQL 쿼리:
SELECT * FROM source;
복호화:
source 테이블의 config 필드는 종종 AES를 사용하여 암호화됩니다. 애플리케이션은 기본 하드코딩된 보안 키를 사용합니다:
기본 보안 키:
d@a$t%a^r&a*t
제공된 Decrypt.java 유틸리티(이 기본 키 포함)를 사용하여 이러한 값을 복호화하고 외부 데이터베이스에 대한 평문 자격 증명을 얻을 수 있습니다.