🇰🇷 한글 설명
ArcadeDB 서버 26.7.3 이하 버전에서 인증된 사용자의 권한이 비동기 명령 작업 스레드로 전달되지 않는 취약점이 발견되었습니다. 공격자는 읽기 권한만 있는 계정으로 비동기 JavaScript 명령을 실행하여 보안 검사를 우회하고 서버 전체의 관리자 권한을 탈취할 수 있습니다.
💡 쉬운 설명
로그인한 사용자의 권한 정보가 비동기 작업으로 넘어갈 때 누락되는 오류가 있습니다. 이를 이용하면 권한이 낮은 사용자가 서버의 모든 제어권을 가진 관리자로 변신할 수 있습니다.
🇺🇸 원문 (English)
ArcadeDB server (com.arcadedb:arcadedb-server) in versions 26.7.3 and earlier fails to propagate the authenticated principal to asynchronous command worker threads. When an HTTP command is submitted with awaitResponse:false, it executes on an async worker whose DatabaseContext has no bound user, causing the scripting authorization gate to become a no-op. A user with only read access to a single database can submit an asynchronous JavaScript (language=js) command via the /api/v1/command endpoint to run code with unrestricted host access (e.g., database.getSecurity().createUser) and create a server-wide administrator, escalating to full administrative control. Fixed in 26.8.1.
📍 영향받는 시스템
ArcadeDB server (com.arcadedb:arcadedb-server) version 26.7.3 and earlier
⚔️ 공격 벡터
/api/v1/command 엔드포인트를 통해 awaitResponse:false 옵션을 포함한 비동기 JavaScript 명령 전송
🛡️ 대응 방법
ArcadeDB 서버를 취약점이 해결된 버전인 26.8.1 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 현재 설치된 ArcadeDB 버전이 26.7.3 이하로 나타나면 취약한 상태입니다.
grep -r "arcadedb-server" /var/lib/ | grep -E '26\[0-7]\.[0-7]\.[0-3]'