]> Cypherpunks repositories - gostls13.git/commit
net/url: enforce stricter parsing of bracketed IPv6 hostnames
authorEthan Lee <ethanalee@google.com>
Fri, 29 Aug 2025 17:35:55 +0000 (17:35 +0000)
committerGopher Robot <gobot@golang.org>
Tue, 7 Oct 2025 19:46:24 +0000 (12:46 -0700)
commitf6f4e8b3ef21299db1ea3a343c3e55e91365a7fd
treeef5b001cb37268cebe41f09b65c45b46e9e301b1
parent7dd54e1fd7f3a25fccbb5c6ab7066e2baad23e66
net/url: enforce stricter parsing of bracketed IPv6 hostnames

- Previously, url.Parse did not enforce validation of hostnames within
  square brackets.
- RFC 3986 stipulates that only IPv6 hostnames can be embedded within
  square brackets in a URL.
- Now, the parsing logic should strictly enforce that only IPv6
  hostnames can be resolved when in square brackets. IPv4, IPv4-mapped
  addresses and other input will be rejected.
- Update url_test to add test cases that cover the above scenarios.

Thanks to Enze Wang, Jingcheng Yang and Zehui Miao of Tsinghua
University for reporting this issue.

Fixes CVE-2025-47912
Fixes #75678

Change-Id: Iaa41432bf0ee86de95a39a03adae5729e4deb46c
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/2680
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-by: Roland Shoemaker <bracewell@google.com>
Reviewed-on: https://go-review.googlesource.com/c/go/+/709857
TryBot-Bypass: Michael Pratt <mpratt@google.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Auto-Submit: Michael Pratt <mpratt@google.com>
src/go/build/deps_test.go
src/net/url/url.go
src/net/url/url_test.go