Description
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.
References6
- github.com/dfpc-coe/CloudTAK/commit/1e0f6e65977c86fbc0aa15e308c…
- github.com/dfpc-coe/CloudTAK/commit/556b35632877802c7e9c818db44…
- github.com/dfpc-coe/CloudTAK/pull/1513
- github.com/dfpc-coe/CloudTAK/releases/tag/v13.22.1
- github.com/dfpc-coe/CloudTAK/security/advisories/GHSA-vqrw-qphh…
- github.com/dfpc-coe/CloudTAK/security/advisories/GHSA-vqrw-qphh…
Metrics
- CVSS 3.1
-
5.0
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N - EPSS — exploit probability
- 0% percentile: 31 · as of 8 November 2026
- CWE
- CWE-918
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.