🇰🇷 한글 설명
Apache Druid에서 특정 권한을 가진 사용자가 JDBC를 통해 다른 데이터베이스 시스템의 데이터를 읽을 수 있는 취약점입니다. MySQL JDBC 연결 시 특수하게 제작된 연결 문자열을 사용하여 허용되지 않은 속성을 설정함으로써 보안 제한을 우회할 수 있습니다.
💡 쉬운 설명
데이터베이스 연결 설정을 관리하는 권한이 있는 사용자가 원래는 금지된 설정값들을 몰래 입력하여 보안 규칙을 깨뜨릴 수 있는 문제입니다. 이를 통해 허용되지 않은 데이터에 접근할 위험이 있습니다.
🇺🇸 원문 (English)
Apache Druid allows users with certain permissions to read data from other database systems using JDBC. This functionality allows trusted users to set up Druid lookups or run ingestion tasks. Druid also allows administrators to configure a list of allowed properties that users are able to provide for their JDBC connections. By default, this allowed properties list restricts users to TLS-related properties only. However, when configuration a MySQL JDBC connection, users can use a particularly-crafted JDBC connection string to provide properties that are not on this allow list.
Users without the permission to configure JDBC connections are not able to exploit this vulnerability.
CVE-2021-26919 describes a similar vulnerability which was partially addressed in Apache Druid 0.20.2.
This issue is fixed in Apache Druid 30.0.1.
📍 영향받는 시스템
Apache Druid 30.0.1 미만 버전
⚔️ 공격 벡터
특수하게 조작된 MySQL JDBC 연결 문자열을 사용하여 허용 목록에 없는 속성을 주입
🛡️ 대응 방법
Apache Druid를 30.0.1 버전 이상으로 업데이트
🔧 검증 코드
출력된 결과에서 Apache Druid의 버전이 30.0.1 이상인지 확인
java -jar druid/bin/start-druid | grep 'Apache Druid version'