🇰🇷 한글 설명
CloudTAK 13.22.1 미만 버전에서 인증된 사용자가 PUT /api/basemap 엔드포인트를 통해 조작된 URL을 전달할 경우 서버 측 요청 위조(SSRF)가 발생합니다. 이 취약점은 URL 검증 미비로 인해 내부 네트워크, 루프백 또는 클라우드 메타데이터 서비스에 접근할 수 있게 하며, 응답 데이터가 호출자에게 반환되어 민감한 정보 유출 및 클라우드 자격 증명 탈취가 가능합니다.
💡 쉬운 설명
공격자가 조작된 주소를 입력하면 서버가 내부의 비밀 정보나 클라우드 관리 정보를 대신 가져와서 보여주는 보안 결함입니다. 이를 통해 공격자는 서버 내부의 중요한 데이터나 관리자 권한을 훔칠 수 있습니다.
🇺🇸 원문 (English)
CloudTAK is a browser-based Common Operating Picture and situational awareness tool compatible with TAK. Prior to 13.22.1, the authenticated PUT /api/basemap endpoint passes an attacker-controlled URL through importBasemapURL() in api/routes/basemap.ts to fetch(url) without resolved-address classification or redirect revalidation. BasemapProtocol.isValidURL in api/lib/interface-basemap.ts checks only the HTTP or HTTPS scheme and is not applied on the vulnerable import path. Direct internal addresses, alternate IP encodings, and redirects to internal addresses can reach cloud metadata, loopback, private, and CGNAT HTTP services. The OptionalTileJSON response reflects fields including name, attribution, and tiles[0] to the caller, making the request forgery full-read rather than blind and enabling cloud credential theft and internal service disclosure. This issue is fixed in version 13.22.1.
📍 영향받는 시스템
CloudTAK version < 13.22.1
⚔️ 공격 벡터
인증된 사용자가 조작된 URL을 포함한 PUT 요청을 /api/basemap 엔드포인트로 전송
🛡️ 대응 방법
CloudTAK을 최신 버전인 13.22.1 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과로 'Vulnerable'이 출력되면 취약한 버전이 설치된 상태입니다.
curl -s http://<target-ip>/api/version | grep -E '13\.[0-9]+\.[0-9]+' | awk '$2 < "13.22.1" {print "Vulnerable"}'