🇰🇷 한글 설명
Typebot의 셀프 호스팅 버전 3.18.0 미만에서 발생하는 취약점으로, Send Email 통합 블록이 파일 경로를 검증하지 않아 서버의 로컬 파일을 임의로 읽을 수 있습니다. 공격자는 변수를 통해 /etc/passwd와 같은 민감한 파일을 첨부하여 외부로 전송할 수 있으며, 이를 통해 환경 변수나 데이터베이스 연결 문자열과 같은 기밀 정보를 탈취할 수 있습니다.
💡 쉬운 설명
챗봇을 만드는 프로그램의 이메일 보내기 기능에 허점이 있어, 해커가 서버 안에 있는 중요한 비밀 파일을 몰래 이메일로 빼낼 수 있는 문제입니다. 별도의 권한 없이도 서버의 설정 파일이나 비밀번호를 훔쳐갈 수 있어 위험합니다.
🇺🇸 원문 (English)
Typebot is an open-source chatbot builder. In self-hosted versions prior to 3.18.0, the server-side Send Email integration block allows arbitrary reading of local files on the server. The block builds Nodemailer attachments from a typebot variable, and its parseAttachments helper returns the supplied value as a filesystem path whenever it does not start with the application's own base URL, instead of requiring an http or https URL. The Nodemailer transport is created without disableFileAccess or disableUrlAccess, both of which default to false, so an attachment specified as an absolute server path is read from the local filesystem and delivered. Because both the attachment value and the recipient list are attacker-controllable typebot variables, any registered user can publish a bot whose Send Email block attaches an absolute path such as /etc/passwd or /proc/self/environ and mails it to an address they control. This enables reading any file the server process can access, including process environment secrets such as the credential encryption key and database connection string, without administrative privileges or victim interaction. Open signup is enabled by default and the system SMTP credential is already configured, so no non-default configuration is required. This issue is fixed in version 3.18.0.
📍 영향받는 시스템
Typebot self-hosted versions prior to 3.18.0
⚔️ 공격 벡터
등록된 사용자가 로컬 파일 경로를 포함한 변수를 Send Email 블록에 입력하여 외부 이메일로 전송
🛡️ 대응 방법
Typebot을 최신 버전인 3.18.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 정보가 3.18.0 미만이면 취약한 상태이며, 3.18.0 이상이면 안전합니다.
curl -s http://<target-ip>/api/health | grep -i 'version' || echo 'Check version via application UI'
💻 영향받는 소프트웨어
IBM WebSphere Application Server