{"version":"2.1.277","anchor":"ssrfprivate-ip-check-for-local-tooling-simplified-and-a-nor","canonical_anchor":"ssrfprivate-ip-check-for-local-tooling-simplified-and-a-nor","heading":"SSRF\/private-IP check for local tooling simplified and a normalization step added","tier":"internal","area":"Sandbox","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.277\/e\/ssrfprivate-ip-check-for-local-tooling-simplified-and-a-nor","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.277","markdown":"### SSRF\/private-IP check for local tooling simplified and a normalization step added\n\nThe check for whether an address is local was simplified and now strips IPv6 zone identifiers first\n\n**What**\n\nClaude Code has an internal check for whether a network address counts as \"local,\" used to control whether local tools can bind to it. This check now strips IPv6 zone identifiers (extra suffixes like `%eth0` sometimes attached to IPv6 addresses) before evaluating an address. It also consolidates loopback and unspecified-address handling into a single computed result, and hands off unmatched cases to a new helper function instead of separately hardcoding checks for AWS and GCP metadata service IP addresses.\n\n**Why**\n\nThis is a defensive check related to preventing server-side request forgery (SSRF), where a request is tricked into reaching an unintended internal address; normalizing IPv6 zone identifiers first helps make sure such addresses aren't misclassified and slip past the local-address check.\n\n- Area: Sandbox\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5"}