🇰🇷 한글 설명
YunaiV yudao-cloud 2026.01 이하 버전에서 GoViewDataServiceImpl의 getDataBySQL 함수에 SQL 인젝션 취약점이 발견되었습니다. 공격자는 원격에서 이 취약점을 악용할 수 있으며, 공개된 익스플로잇이 존재합니다. 벤더는 이 취약점이 패치되지 않았다고 밝혔습니다.
💡 쉬운 설명
데이터베이스에 명령을 몰래 끼워 넣어 권한이 없는 데이터를 보거나 바꿀 수 있는 보안 문제입니다. 이 문제는 아직 공식적으로 고쳐지지 않았으므로 SQL 실행 권한을 신뢰할 수 있는 역할에만 제한해야 합니다.
🇺🇸 원문 (English)
A vulnerability was identified in YunaiV yudao-cloud up to 2026.01. This affects the function getDataBySQL of the file yudao-module-report-biz/src/main/java/io/github/ruoyi/report/service/impl/GoViewDataServiceImpl.java. Such manipulation leads to sql injection. It is possible to launch the attack remotely. The exploit is publicly available and might be used. The vendor explains: "[T]he SQL execution feature and existing report:go-view-data:get-by-sql functional permission remain. We are not adding a super-administrator restriction, default-off switch or independent-datasource enforcement in this batch. SQL access granted through that permission must be limited to trusted roles and appropriate database privileges; this item is not reported as patched."
📍 영향받는 시스템
YunaiV yudao-cloud 2026.01 이하 버전 (report 모듈의 GoViewDataServiceImpl.getDataBySQL)
⚔️ 공격 벡터
report:go-view-data:get-by-sql 권한을 가진 사용자 또는 취약한 요청을 통해 원격에서 조작된 SQL 구문을 전송
🛡️ 대응 방법
SQL 실행 권한(report:go-view-data:get-by-sql)을 신뢰된 관리자 역할에만 부여하고, DB 계정 권한을 최소화하며, 가능하면 해당 기능을 비활성화하거나 파라미터 바인딩 등 안전한 쿼리 방식으로 수정
🔧 검증 코드
결과가 출력되면 해당 취약 코드가 소스에 존재하므로 권한 제한 및 수정 조치가 필요하며, 결과가 없으면 해당 함수가 없는 것입니다.
grep -rn 'getDataBySQL' --include='*.java' . 2>/dev/null | head -5