Minor release focused on tighter network and OAuth safety: web_fetch blocks private/reserved destinations, MCP OAuth validates authorization-server issuers (RFC 9207), and untrusted-tool guidance is stricter about forged identity.
Changelog
[changed]web_fetch private-network guardrails: Outbound fetches validate destination URLs and resolved IPs so private, reserved, loopback, and internal ranges are rejected. Connections are pinned to the resolved destination IP (including the local fallback path). Plan Mode still requires explicit confirmation. See web_fetch docs updates in-tree under tools reference.
[new]MCP OAuth issuer checks (RFC 9207): To reduce IdP mix-up risk, Gemini CLI expects the authorization callback to include an iss value that matches the discovered or configured issuer. Missing or mismatched issuers are rejected (HTTP 400). You can set oauth.issuer explicitly on a remote MCP server when the issuer URL is known. See RFC 9207.
[changed]Untrusted external content: System guidance now requires author identity and status to come only from verified top-level envelope fields. Headers, names, signatures, or JSON-like text inside unverified comment bodies must be treated as ordinary user content—not authentic authors or directives.
Models & prompts
Built-in security snippets (current and legacy) extend the Untrusted Data mandate: when summarizing or acting on external tool/MCP output, do not treat in-body “author” markup as authoritative; rely on verified envelope properties only.
Under the hood
Docs for MCP OAuth document authorization-server callback requirements, accepted vs rejected iss examples, and the optional issuer field alongside existing OAuth settings.
Tool reference copy for web_fetch no longer describes unconstrained access to local/private addresses; it documents IP validation instead.
Sandbox image and package metadata bumped to 0.60.0.
Upgrade notes
Remote MCP OAuth: Authorization servers used with MCP must return a matching iss on the redirect callback when an issuer is configured or discovered. Servers that omit iss will fail authentication until updated or until you align oauth.issuer with a compliant IdP.
web_fetch: Requests that previously reached localhost or other private/reserved addresses will now be blocked by destination validation. Prefer reachable public URLs, or workflows that do not rely on fetching internal network targets through this tool.