CVE-2026-55177 in CloudTAK
요약
\~에 의해 VulDB • 2026. 10. 01.
CloudTAK는 TAK와 호환되는 브라우저 기반의 공통 운영 상황(COP) 및 상황 인식 도구입니다. 버전 13.10.0 이전에는 ESRI 헬퍼 패밀리(api/routes/esri.ts 내)에 있는 모든 라우트가 요청(POST /api/esri 본문의 url, GET /api/esri/* 라우트의 portal/server/layer 쿼리 파라미터 등)에서 공격자가 완전히 제어할 수 있는 URL을 받아 api/lib/esri.ts의 EsriBase/EsriProxyPortal/EsriProxyServer/EsriProxyLayer로 전달하며, 여기서 @tak-ps/etl 패키지의 기본 fetch를 사용하여 해당 URL에 접근합니다. IP/DNS/호스트명 분류가 전혀 적용되지 않으므로 대상이 프라이빗, 루프백 또는 링크 로컬 범위에 있는지 검증되지 않습니다. 따라서 인증된 사용자(라우트는 Auth.is_auth(config, req, { anyResources: true })만 필요하므로 모든 토큰으로 가능하며 관리자 권한은 불필요함)는 CloudTAK 서버가 클라우드 인스턴스 메타데이터 서비스(169.254.169.254), 루프백 관리 포트(127.0.0.1:<port>), 그리고 배포 VPC 내부에서만 도달 가능한 기타 호스트 등 내부 주소로 임의의 아웃바운드 GET/POST 요청을 수행하도록 할 수 있습니다. 이는 블라인드(SSRF)가 아닌 풀리어드(Full-read) SSRF입니다: 성공 시 업스트림 JSON 본문이 res.json(...)를 통해 호출자에게 반환되며, 실패 시 업스트림 오류 문자열이 'ESRI Server Error: <message>' 형식으로 그대로 반영됩니다. 공격자는 클라우드 메타데이터(인스턴스 역할이 노출하는 임시 IAM 자격 증명 포함)를 읽을 수 있으며, 내부 서비스를 열거하고 응답 본문을 유출할 수 있습니다. sniff() URL 분류기는 보호 기능을 제공하지 않습니다. 이는 경로명(/rest, /arcgis/rest, /sharing/rest)에 대한 패턴 매칭만 수행하므로 http://169.254.169.254/arcgis/rest 또는 http://127.0.0.1:8500/rest와 같은 URL은 sniff()를 통과하여 fetch됩니다. 이 문제는 버전 13.10.0에서 패치되었습니다.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.