mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-21 22:52:19 +03:00
A persisted, caller-supplied providerSpecificData.baseUrl reached fetch() on the runtime dispatch path with no SSRF guard, so a manage-scope actor (or an anonymous one on a keyless install) could point a provider at loopback / internal / cloud-metadata hosts and reach the instance metadata service. BaseExecutor now mirrors the provider validation guard before every upstream fetch (fetchWithStartTimeout covers retries/fallback URLs; countTokens too), with the same call added to the glm and nlpcloud executors' own fetch paths. Local / self-hosted providers stay exempt; default block-metadata mode stops the cloud-metadata IMDS pivot, public-only mode also blocks private targets. Reported by @rafaelfiguereod-stack via GHSA-4f49-hj64-448x.