🇰🇷 한글 설명
Signal K Server 2.28.0-beta.2부터 2.34.0 이전 버전의 App Store 아이콘 가져오기 기능에 서버 사이드 요청 위조(SSRF) 취약점이 존재합니다. 해당 기능이 절대 경로의 signalk.appIcon URL을 검증 없이 신뢰하여, 공격자가 게시한 npm 패키지 요청을 통해 루프백, 선박 내부 네트워크, 클라우드 메타데이터 엔드포인트에 접근할 수 있습니다. 이때 이미지 형식으로 수신된 응답은 저장되어 관리자 UI를 통해 다시 노출될 수 있습니다.
💡 쉬운 설명
Signal K 서버가 앱 아이콘을 가져올 때 공격자가 지정한 내부 주소에 대신 접속하도록 속일 수 있습니다. 이 과정에서 내부망 정보나 클라우드 설정 정보가 관리자 화면에 노출될 수 있습니다.
🇺🇸 원문 (English)
Signal K Server from 2.28.0-beta.2 before 2.34.0 contains a server-side request forgery vulnerability in the App Store icon fetcher that trusts absolute signalk.appIcon URLs. Attackers publishing npm packages with Signal K keywords can make servers request loopback, vessel network, or cloud metadata endpoints, storing image-typed responses served back via the admin UI.
📍 영향받는 시스템
Signal K Server 2.28.0-beta.2 이상 2.34.0 미만 버전
⚔️ 공격 벡터
Signal K 키워드가 포함된 악성 npm 패키지를 게시하고, 아이콘 URL을 내부 주소로 지정하여 App Store에서 서버가 요청하도록 유도
🛡️ 대응 방법
Signal K Server를 2.34.0 이상 버전으로 업그레이드
🔧 검증 코드
출력된 버전이 2.28.0-beta.2 이상 2.34.0 미만이면 취약하며, 2.34.0 이상이면 패치된 버전입니다. 결과가 없으면 전역 설치되지 않은 것이므로 다른 설치 경로를 확인해야 합니다.
npm list -g signalk-server 2>/dev/null | grep -E 'signalk-server@'