🇰🇷 한글 설명
DataEase 2.10.26 미만 버전에서 인증된 사용자가 데이터셋 필드에 조작된 dateFormat을 저장할 수 있는 취약점이 존재합니다. 이 값은 검증 없이 SQL 생성 템플릿에 삽입되어, 차트 렌더링 시 Calcite 파싱을 우회하고 생성된 SQL을 직접 조작할 수 있습니다. 이를 통해 백엔드 데이터베이스의 기밀성, 무결성 및 가용성이 침해될 수 있습니다.
💡 쉬운 설명
로그인한 사용자가 날짜 형식을 입력하는 칸에 특수한 명령어를 넣어 데이터베이스를 마음대로 조작할 수 있는 문제입니다. 이로 인해 중요한 데이터가 유출되거나 삭제될 위험이 있습니다.
🇺🇸 원문 (English)
DataEase is an open source data visualization and analysis tool. Prior to 2.10.26, authenticated users can store a crafted custom dateFormat for a dataset field. DatasetTableFieldDTO.dateFormat is inserted without validation into date conversion templates used by Dimension2SQLObj, CustomWhere2Str, Field2SQLObj, WhereTree2Str, and ExtWhere2Str. When a chart renders the field on a cross-datasource dataset, Calcite parsing is bypassed and the crafted format can directly alter the generated SQL. On a single-datasource dataset, exploitation additionally requires the payload to survive Calcite reserialization as a valid string literal. Successful exploitation can compromise the confidentiality, integrity, and availability of the backend database. This issue is fixed in version 2.10.26.
📍 영향받는 시스템
DataEase 2.10.26 미만 모든 버전
⚔️ 공격 벡터
인증된 사용자가 데이터셋 필드의 dateFormat 설정에 SQL 인젝션 페이로드를 삽입하여 공격
🛡️ 대응 방법
DataEase를 최신 보안 패치가 적용된 버전인 2.10.26 이상으로 업데이트하십시오.
🔧 검증 코드
출력 결과에 2.10.26 이상의 버전 번호가 포함되어 있으면 안전합니다.
curl -s http://<target_ip>/api/version | grep -E '2.10.26'