Skip to content

net/http, x/net/proxy, x/net/http/httpproxy: proxy bypass using IPv6 zone IDs #71984

Closed

Description

@neild

Matching of hosts against proxy patterns could improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable was set to "*.example.com", a request to "[::1%25.example.com]:80` would incorrectly match and not be proxied.

Thanks to Juho Forsén of Mattermost for reporting this issue.

This is CVE-2025-22870

/cc @golang/security and @golang/release

Activity

  1. neild commented on Feb 26, 2025

    @neild
    ContributorAuthor

    @gopherbot please open backport issues for this security fix

  2. gopherbot commented on Feb 26, 2025

    @gopherbot
    Contributor

    Backport issue(s) opened: #71985 (for 1.23), #71986 (for 1.24).

    Remember to create the cherry-pick CL(s) as soon as the patch is submitted to master, according to https://go.dev/wiki/MinorReleases.

  3. added
    NeedsFixThe path to resolution is known, but the work has not been done.
    on Feb 27, 2025
  4. added this to the Go1.25 milestone on Feb 27, 2025
  5. changed the title [-]security: fix CVE-2025-22870[/-] [+]net/http, x/net/proxy, x/net/http/httpproxy: proxy bypass using IPv6 zone IDs[/+] on Mar 4, 2025
  6. gopherbot commented on Mar 4, 2025

    @gopherbot
    Contributor

    Change https://go.dev/cl/654717 mentions this issue: all: update golang.org/x/net

  7. gopherbot commented on Mar 4, 2025

    @gopherbot
    Contributor

    Change https://go.dev/cl/654795 mentions this issue: [release-branch.go1.24] all: updates vendored x/net

  8. gopherbot commented on Mar 4, 2025

    @gopherbot
    Contributor

    Change https://go.dev/cl/654796 mentions this issue: [release-branch.go1.23] all: updates vendored x/net

  9. added a commit that references this issue on Mar 5, 2025
  10. added 2 commits that reference this issue on Mar 6, 2025
  11. added a commit that references this issue on Mar 19, 2025
  12. locked and limited conversation to collaborators on Apr 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.Securityvulncheck or vulndbIssues for the x/vuln or x/vulndb repo

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions