{"id":31485,"date":"2026-10-01T04:31:31","date_gmt":"2026-09-30T20:31:31","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-55177"},"modified":"2026-10-01T04:31:31","modified_gmt":"2026-09-30T20:31:31","slug":"cve-2026-55177","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-55177","title":{"rendered":"CVE-2026-55177 &#8211; CloudTAK is a browser-based Common Operating Picture and situational awareness tool compat"},"content":{"rendered":"<p>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:), 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(&#8230;), and on failure the upstream error string is reflected verbatim as ESRI Server Error: . 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.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 fu<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-31485","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/31485","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=31485"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=31485"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=31485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}