🇰🇷 한글 설명
TypeBot 3.17.2 미만 버전에서 SSRF 검증 로직의 TOCTOU(Time-of-Check to Time-of-Use) 결함으로 인해 DNS Rebinding 공격이 가능합니다. 검증 단계와 실제 요청 단계 사이의 시차를 이용해 차단된 내부 네트워크나 클라우드 메타데이터 엔드포인트에 접근할 수 있습니다.
💡 쉬운 설명
서버가 주소를 확인한 직후에 주소를 몰래 바꿔치기하는 기술을 사용하여, 보안 검사를 통과한 뒤 실제로는 허용되지 않은 내부 시스템에 접속하는 공격입니다. 이를 통해 서버 내부의 중요한 정보나 관리자 페이지에 접근할 위험이 있습니다.
🇺🇸 원문 (English)
TypeBot is a chatbot builder tool. In versions prior to 3.17.2, SSRF validation is implemented by resolving a hostname once and checking whether the resolved IP belongs to a forbidden range allowing for DNS rebinding bypass. The root cause is a time-of-check to time-of-use gap in the SSRF guard. The validator resolves the hostname and approves it, but the later request path performs a fresh resolution and connects to whatever IP the hostname maps to at that moment. The actual outbound request is then performed later using the original hostname, without pinning the validated IP to the network connection. An attacker who can supply a URL to a public bot that performs a server-side HTTP Request block or server-side script fetch can use DNS rebinding to pass the initial validation and still force the server to connect to a private or metadata address during the real request. This enables server-side access to private network services, cloud metadata endpoints, and other internal HTTP targets that the validator was intended to block. The exact downstream impact depends on the reachable internal services. Concrete consequences include metadata disclosure, access to internal admin panels, credential theft from metadata services, and further compromise through internal-only HTTP interfaces. This issue has been fixed in version 3.17.2.
📍 영향받는 시스템
TypeBot versions prior to 3.17.2
⚔️ 공격 벡터
DNS Rebinding을 이용한 SSRF 검증 우회 및 내부 네트워크/메타데이터 서비스 접근
🛡️ 대응 방법
TypeBot을 3.17.2 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 TypeBot의 버전을 확인하여 3.17.2 미만인지 확인합니다.
npm list typebot || docker inspect typebot --format '{{.Config.Image}}'