🇰🇷 한글 설명
ArcadeDB 26.7.3 이전 버전은 JavaScript 트리거 컨텍스트에 실제 LocalDatabase 객체를 HostAccess.ALL 권한으로 바인딩합니다. 이로 인해 스키마 관리자가 권한 검사 없이 getSecurity().createUser()를 호출할 수 있습니다. UPDATE_SCHEMA 권한을 가진 공격자는 JavaScript를 실행하는 트리거를 만들어 서버 전체의 관리자 계정을 생성하고 권한을 상승시킬 수 있습니다.
💡 쉬운 설명
ArcadeDB 데이터베이스의 트리거 기능에 보안 허점이 있어, 일반 사용자도 관리자 계정을 몰래 만들 수 있습니다. 해당 버전을 사용 중이라면 즉시 업데이트해야 합니다.
🇺🇸 원문 (English)
ArcadeDB before 26.7.3 binds the real LocalDatabase object into JavaScript trigger contexts with HostAccess.ALL, allowing schema-admins to call getSecurity().createUser() without permission checks. Attackers with UPDATE_SCHEMA permission can create triggers that execute JavaScript to create server-wide admin users, escalating privileges beyond their authorization level.
📍 영향받는 시스템
ArcadeDB 26.7.3 이전 버전
⚔️ 공격 벡터
UPDATE_SCHEMA 권한을 가진 사용자가 JavaScript 트리거를 생성해 서버 전체 관리자 계정을 만듦
🛡️ 대응 방법
ArcadeDB를 26.7.3 이상 버전으로 업데이트하고, UPDATE_SCHEMA 권한을 최소한으로 부여
🔧 검증 코드
출력된 버전이 26.7.3 미만이면 취약하며, 26.7.3 이상이면 패치가 적용된 것입니다. 버전 명령이 없으면 jar 파일명에서 버전을 확인하세요.
arcadedb --version 2>/dev/null || (find / -iname '*arcadedb*.jar' 2>/dev/null | head -n 5)