You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Discrete deliverable of #11061 (umbrella #11058). Covers the two contained findings; the headline state/PKCE binding is #11297 and the remaining MEDs (device-poll rate-limit, DNS-rebinding pin, per-tenant vault, token audience) stay on #11061.
HIGH — refresh/device SSRF bypass:llm_shared/provider_auth.OAuthAuth._refresh now calls require_allowlisted_https(self._token_url, get_oauth_allowed_hosts()) before the outbound POST (covers DeviceCodeAuth too — it refreshes via _refresh). The OAuth host allowlist moved to autobot_shared.url_safety as the single source.
MED — /status not admin-gated: added check_admin_permission.
Closed — merged to Dev_new_gui via #11299. llm_shared._refresh SSRF-validates token_url before every outbound POST (OAuth + device refresh); OAuth allowlist consolidated in autobot_shared.url_safety; /status admin-gated. Verified: evil host rejected, good host allowed, blocked URL never reaches the network.
Activity
fix(security): SSRF-validate OAuth token_url in llm_shared + admin-ga…
mrveiss commentedon Jul 8, 2026
Closed — merged to Dev_new_gui via #11299.
llm_shared._refreshSSRF-validatestoken_urlbefore every outbound POST (OAuth + device refresh); OAuth allowlist consolidated inautobot_shared.url_safety;/statusadmin-gated. Verified: evil host rejected, good host allowed, blocked URL never reaches the network.