🇰🇷 한글 설명
TypeBot 3.17.0 미만 버전에서 Google Sheets OAuth 콜백 시 state 파라미터의 무결성을 검증하지 않는 취약점이 존재합니다. 인증된 사용자가 조작된 state 값을 사용하여 다른 워크스페이스에 구글 시트 자격 증명을 생성하거나 특정 Typebot에 연결할 수 있습니다.
💡 쉬운 설명
로그인 과정에서 전달되는 정보를 검증하지 않아, 공격자가 가짜 정보를 끼워 넣어 다른 사람의 작업 공간에 자신의 권한을 심을 수 있는 문제입니다. 이를 통해 허가되지 않은 데이터 접근이나 설정 변경이 가능해질 수 있습니다.
🇺🇸 원문 (English)
TypeBot is a chatbot builder tool. Prior to version 3.17.0, the Google Sheets OAuth callback decodes a base64-encoded JSON `state` parameter and trusts the embedded `workspaceId`, `typebotId`, `blockId`, and `redirectUrl` without cryptographic integrity protection or authorization checks. The callback route is authenticated, but it does not verify that the authenticated user has write access to the target workspace or Typebot before creating credentials in the workspace or updating Typebot groups. An authenticated user who can obtain a valid Google OAuth `code` can alter the `state` value to create Google Sheets credentials in another workspace and, if target IDs are known, attach those credentials to a block in another Typebot. Version 3.17.0 patches the issue.
📍 영향받는 시스템
TypeBot versions prior to 3.17.0
⚔️ 공격 벡터
인증된 사용자가 Google OAuth 콜백의 base64 인코딩된 state 파라미터를 조작하여 공격 수행
🛡️ 대응 방법
TypeBot을 최신 버전인 3.17.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 정보가 3.17.0 미만인지 확인하여 취약 여부를 판단합니다.
curl -s http://<target-ip>/api/version | grep -E '3\.[1-7]\.'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N
💻 영향받는 소프트웨어
IBM Security Verify Access