Track vulnerabilities like this one.
Sign up free to get alerted when software you use is affected.
8.6
CVE-2026-55177: CloudTAK lets logged‑in users read internal network URLs
CVE-2026-55177 · published 1 month ago
Summary
Any user with a valid CloudTAK login can ask the server to retrieve data from any address it can reach, including private cloud metadata services or internal machines. Because the request URL is not checked, the server will return the fetched content, exposing sensitive information. Upgrade to version 13.10.0 or later, or apply a patch that validates or blocks private and loopback addresses.
What to do
- Update tak-ps cloudtak to version 13.10.0.
- Update tak-ps @tak-ps/cloudtak to version 13.10.0.
Affected software
| Ecosystem | Vendor | Product | Affected versions |
|---|---|---|---|
| npm | tak-ps | cloudtak |
< 13.10.0 Fix: upgrade to 13.10.0
|
| npm | tak-ps | @tak-ps/cloudtak |
< 13.10.0 Fix: upgrade to 13.10.0
|
| – | dfpc-coe | cloudtak | < 13.10.0 |
Original advisory text
CloudTAK: Authenticated full-read SSRF in /api/esri* routes — user-controlled URL fetched with no IP-classification guard
CloudTAK is a browser-based Common Operating Picture and situational awareness tool compatible with TAK. Prior to version 13.10.0, every route in the ESRI helper family (api/routes/esri.ts) takes a fully attacker-controlled URL from the request (POST /api/esri body url, and the portal / server / layer query parameters on the GET /api/esri/* routes) and passes it into EsriBase / EsriProxyPortal / EsriProxyServer / EsriProxyLayer in api/lib/esri.ts, which fetch it with the bare fetch from @tak-ps/etl. No IP / DNS / hostname classification is applied at any point, so the destination is never validated against private, loopback, or link-local ranges. Any authenticated user (the routes only require Auth.is_auth(config, req, { anyResources: true }), i.e. any token, not an admin) can therefore make the CloudTAK server issue arbitrary outbound GET/POST requests to internal addresses such as the cloud instance-metadata service (169.254.169.254), loopback admin ports (127.0.0.1:<port>), and other hosts reachable only from inside the deployment VPC. This is a full-read SSRF, not blind: on success the upstream JSON body is returned to the caller via res.json(...), and on failure the upstream error string is reflected verbatim as ESRI Server Error: <message>. An attacker can read cloud metadata (and the temporary IAM credentials the instance role exposes), enumerate internal services, and exfiltrate their response bodies. The sniff() URL classifier provides no protection: it only pattern-matches the pathname (/rest, /arcgis/rest, /sharing/rest), so a URL like http://169.254.169.254/arcgis/rest or http://127.0.0.1:8500/rest passes sniff() and is fetched. This issue has been patched in version 13.10.0.
References
- https://github.com/advisories/GHSA-r95q-fp26-h3hc
- https://github.com/dfpc-coe/CloudTAK Product
- https://github.com/dfpc-coe/CloudTAK/releases/tag/v13.10.0 URL
- https://github.com/dfpc-coe/CloudTAK/security/advisories/GHSA-r95q-fp26-h3hc Vendor Advisory
- https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55177... Vendor Advisory
- https://nvd.nist.gov/vuln/detail/CVE-2026-55177 Vendor Advisory
Internet-facing
14 days
Internal
At next upgrade
- Not known to be exploited
- Needs hands-on effort to exploit (estimated)
- Gives an attacker full control (estimated)
Severity
8.6
High
Type
CWE-918Server-Side Request Forgery (SSRF)
Timeline
Published30 Sep 2026
Updated4 Nov 2026
First seen17 Jul 2026
Sources
GHSA-r95q-fp26-h3hc · GHSA
CVE-2026-55177 · NVD
GHSA-r95q-fp26-h3hc · OSV
CVE-2026-55177 · MITRE
CVE-2026-55177 · OSV
Track software like this
Free during beta