🇰🇷 한글 설명
Ech0 4.4.3 미만 버전의 validateWebhookURL 함수에서 서버 측 요청 위조(SSRF) 취약점이 발견되었습니다. 해당 함수는 IP 주소만 검증하며, 내부 IP로 연결되는 호스트네임을 차단하지 못해 공격자가 내부 서비스나 클라우드 메타데이터 엔드포인트에 접근할 수 있습니다.
💡 쉬운 설명
웹훅 주소를 확인할 때 숫자 형태의 IP만 검사하고 이름 형태의 주소는 제대로 검사하지 않는 허점이 있습니다. 이를 통해 공격자가 서버를 속여 내부 네트워크의 중요한 정보에 접근하게 만들 수 있습니다.
🇺🇸 원문 (English)
Ech0 before 4.4.3 contains a server-side request forgery vulnerability in the validateWebhookURL function (webhook_setting_service.go), which only validates literal IP addresses via net.ParseIP() and fails to reject hostnames that DNS-resolve to private or internal IPs (e.g., 169.254.169.254.nip.io). An attacker with admin privileges can create a webhook with such a hostname to bypass validation and cause the server to make requests to internal services, cloud metadata endpoints, and private network resources. The issue is fixed in 4.4.3.
📍 영향받는 시스템
Ech0 version < 4.4.3
⚔️ 공격 벡터
관리자 권한을 가진 공격자가 내부 IP로 연결되는 호스트네임을 포함한 웹훅을 생성하여 SSRF 공격 수행
🛡️ 대응 방법
Ech0 버전을 4.4.3 이상으로 업데이트
🔧 검증 코드
설치된 Ech0의 버전을 확인하여 4.4.3 미만일 경우 취약한 상태로 판단합니다.
echo 'Ech0 version check' && [ $(echo '4.4.3' > version.tmp && echo '4.4.2' > current.tmp && cmp -s version.tmp current.tmp) ] && echo 'Vulnerable' || echo 'Safe (Check version manually)'