🇰🇷 한글 설명
Budibase 3.39.0 미만 버전에서 발생하는 취약점으로, 인증이 필요 없는 특정 API 엔드포인트를 통해 외부 채팅 계정(Slack, Discord 등)을 사용자 동의 없이 Budibase 계정에 영구적으로 연결할 수 있습니다. 공격자가 생성한 링크를 피해자가 클릭하면 피해자의 계정이 공격자의 외부 ID와 무단으로 결합됩니다.
💡 쉬운 설명
공격자가 보낸 링크를 클릭하기만 해도 내 계정이 공격자의 메신저 계정과 몰래 연결되어 버리는 보안 결함입니다. 이로 인해 공격자가 내 계정의 권한을 가로채거나 정보를 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
Budibase is an open-source low-code platform. Prior to 3.39.0, `GET /api/chat-links/:instance/:token/handoff` is a public endpoint (no auth required) that performs a permanent, state-changing operation: it binds an external chat identity (Slack/Discord/MS Teams) to an authenticated Budibase user account, with no consent UI and no CSRF protection. The session token in the URL is created by the attacker (from their own /link slash command) and embeds the attacker's externalUserId. When an authenticated Budibase victim visits the URL, their account is silently and permanently linked to the attacker's Slack/Discord identity. The server responds with "Authentication succeeded." — no indication of what was linked. This vulnerability is fixed in 3.39.0.
📍 영향받는 시스템
Budibase versions prior to 3.39.0
⚔️ 공격 벡터
CSRF 보호가 없는 공개 API 엔드포인트에 공격자가 생성한 세션 토큰이 포함된 URL을 피해자에게 클릭하도록 유도
🛡️ 대응 방법
Budibase를 3.39.0 버전 이상으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 버전 정보가 3.39.0 이상인지 확인하여 취약점 여부를 판단합니다.
curl -s http://<budibase-instance>/api/version | grep -E '3.39.0|higher'