🇰🇷 한글 설명
Chartbrew 5.2.2 미만 버전에서 DNS Rebinding 취약점이 발견되었습니다. 인증된 사용자가 유효성 검사 시에는 공인 IP를, 실제 요청 시에는 사설 IP를 반환하도록 DNS를 조작하여 내부 서비스나 클라우드 메타데이터 엔드포인트에 접근할 수 있습니다.
💡 쉬운 설명
공격자가 웹사이트의 보안 검사를 속여서, 원래는 접근할 수 없는 회사의 내부 컴퓨터나 비밀 정보가 담긴 서버에 몰래 접속할 수 있는 문제입니다. DNS라는 주소록을 교묘하게 조작하여 보안망을 우회하는 방식입니다.
🇺🇸 원문 (English)
Chartbrew is an open-source web application that can connect directly to databases and APIs and use the data to create charts. Prior to 5.2.2, Chartbrew's server/modules/safeRequest.js calls validateOutboundUrl() to resolve and validate a target hostname, but request-promise performs a separate DNS resolution for the actual connection. An authenticated user who can create or test API connections and controls the target DNS name can return a public address during validation and a private address during the request, bypassing the protections implemented by server/modules/outboundTargetPolicy.js. This DNS rebinding condition can expose internal services, localhost resources, or cloud metadata endpoints. This issue is fixed in version 5.2.2.
📍 영향받는 시스템
Chartbrew 5.2.2 미만 모든 버전
⚔️ 공격 벡터
인증된 사용자가 DNS Rebinding을 통해 유효성 검사를 우회하여 내부 네트워크로 요청을 전달
🛡️ 대응 방법
Chartbrew를 최신 버전인 5.2.2 이상으로 업데이트하십시오.
🔧 검증 코드
설치된 Chartbrew의 버전을 확인하여 5.2.2 미만인지 확인합니다.
npm list chartbrew || echo 'Check installed version via package manager'