<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go, branch go1.25.6</title>
<subtitle>Fork of Go programming language with my patches.</subtitle>
<id>http://git.kilabit.info/go/atom?h=go1.25.6</id>
<link rel='self' href='http://git.kilabit.info/go/atom?h=go1.25.6'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/'/>
<updated>2026-01-15T18:28:34Z</updated>
<entry>
<title>[release-branch.go1.25] go1.25.6</title>
<updated>2026-01-15T18:28:34Z</updated>
<author>
<name>Gopher Robot</name>
<email>gobot@golang.org</email>
</author>
<published>2026-01-15T18:23:44Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=69801b25b9624c3a678ef87d30771861e7bba51f'/>
<id>urn:sha1:69801b25b9624c3a678ef87d30771861e7bba51f</id>
<content type='text'>
Change-Id: Ib93e4136188fce36867537b30977a03885b8b14f
Reviewed-on: https://go-review.googlesource.com/c/go/+/736761
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
Auto-Submit: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Junyang Shao &lt;shaojunyang@google.com&gt;
TryBot-Bypass: Gopher Robot &lt;gobot@golang.org&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.25] archive/zip: reduce CPU usage in index construction</title>
<updated>2026-01-15T18:15:01Z</updated>
<author>
<name>Damien Neil</name>
<email>dneil@google.com</email>
</author>
<published>2025-11-05T01:00:33Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=9d497df196d66553ae844c22a53fb86cd422e80c'/>
<id>urn:sha1:9d497df196d66553ae844c22a53fb86cd422e80c</id>
<content type='text'>
Constructing the zip index (which is done once when first opening
a file in an archive) can consume large amounts of CPU when
processing deeply-nested directory paths.

Switch to a less inefficient algorithm.

Thanks to Jakub Ciolek for reporting this issue.

	goos: darwin
	goarch: arm64
	pkg: archive/zip
	cpu: Apple M4 Pro
	                          │  /tmp/bench.0  │            /tmp/bench.1            │
	                          │     sec/op     │   sec/op     vs base               │
	ReaderOneDeepDir-14         25983.62m ± 2%   46.01m ± 2%  -99.82% (p=0.000 n=8)
	ReaderManyDeepDirs-14          16.221 ± 1%    2.763 ± 6%  -82.96% (p=0.000 n=8)
	ReaderManyShallowFiles-14      130.3m ± 1%   128.8m ± 2%   -1.20% (p=0.003 n=8)
	geomean                         3.801        253.9m       -93.32%

Fixes #77102
Fixes CVE-2025-61728

Change-Id: I2c9c864be01b2a2769eb67fbab1b250aeb8f6c42
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/3060
Reviewed-by: Nicholas Husin &lt;husin@google.com&gt;
Reviewed-by: Neal Patel &lt;nealpatel@google.com&gt;
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/3327
Reviewed-by: Damien Neil &lt;dneil@google.com&gt;
Reviewed-on: https://go-review.googlesource.com/c/go/+/736724
TryBot-Bypass: Michael Pratt &lt;mpratt@google.com&gt;
Reviewed-by: Junyang Shao &lt;shaojunyang@google.com&gt;
Auto-Submit: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.25] net/url: add urlmaxqueryparams GODEBUG to limit the number of query parameters</title>
<updated>2026-01-15T18:14:57Z</updated>
<author>
<name>Damien Neil</name>
<email>dneil@google.com</email>
</author>
<published>2025-11-03T22:28:47Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=afa9b66ac081d3b239d8c1a226b5e884c8435185'/>
<id>urn:sha1:afa9b66ac081d3b239d8c1a226b5e884c8435185</id>
<content type='text'>
net/url does not currently limit the number of query parameters parsed by
url.ParseQuery or URL.Query.

When parsing a application/x-www-form-urlencoded form,
net/http.Request.ParseForm will parse up to 10 MB of query parameters.
An input consisting of a large number of small, unique parameters can
cause excessive memory consumption.

We now limit the number of query parameters parsed to 10000 by default.
The limit can be adjusted by setting GODEBUG=urlmaxqueryparams=&lt;n&gt;.
Setting urlmaxqueryparams to 0 disables the limit.

Thanks to jub0bs for reporting this issue.

Fixes #77101
Fixes CVE-2025-61726

Change-Id: Iee3374c7ee2d8586dbf158536d3ade424203ff66
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/3020
Reviewed-by: Nicholas Husin &lt;husin@google.com&gt;
Reviewed-by: Neal Patel &lt;nealpatel@google.com&gt;
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/3325
Reviewed-by: Roland Shoemaker &lt;bracewell@google.com&gt;
Reviewed-on: https://go-review.googlesource.com/c/go/+/736723
Reviewed-by: Junyang Shao &lt;shaojunyang@google.com&gt;
TryBot-Bypass: Michael Pratt &lt;mpratt@google.com&gt;
Auto-Submit: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.25] cmd/go/internal/work: sanitize flags before invoking 'pkg-config'</title>
<updated>2026-01-15T18:14:54Z</updated>
<author>
<name>Neal Patel</name>
<email>nealpatel@google.com</email>
</author>
<published>2025-12-04T17:30:39Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=2526187481ee31241b72f491992accbdd66c2655'/>
<id>urn:sha1:2526187481ee31241b72f491992accbdd66c2655</id>
<content type='text'>
The addition of CgoPkgConfig allowed execution with flags not
matching the safelist. In order to prevent potential arbitrary
code execution at build time, ensure that flags are validated
prior to invoking the 'pkg-config' binary.

Thank you to RyotaK (https://ryotak.net) of GMO Flatt Security Inc.
for reporting this issue.

Fixes CVE-2025-61731
Fixes #77100

Change-Id: Ic51b41f1f7e697ab98c9c32c6fae35f217f7f364
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/3240
Reviewed-by: Nicholas Husin &lt;husin@google.com&gt;
Reviewed-by: Damien Neil &lt;dneil@google.com&gt;
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/3343
Reviewed-by: Neal Patel &lt;nealpatel@google.com&gt;
Reviewed-on: https://go-review.googlesource.com/c/go/+/736722
TryBot-Bypass: Michael Pratt &lt;mpratt@google.com&gt;
Auto-Submit: Michael Pratt &lt;mpratt@google.com&gt;
Reviewed-by: Junyang Shao &lt;shaojunyang@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.25] cmd/go: update VCS commands to use safer flag/argument syntax</title>
<updated>2026-01-15T18:14:51Z</updated>
<author>
<name>Roland Shoemaker</name>
<email>bracewell@google.com</email>
</author>
<published>2025-12-10T13:13:07Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=082365aa552a7e2186f79110d5311dce70749cc0'/>
<id>urn:sha1:082365aa552a7e2186f79110d5311dce70749cc0</id>
<content type='text'>
In various situations, the toolchain invokes VCS commands. Some of these
commands take arbitrary input, either provided by users or fetched from
external sources. To prevent potential command injection vulnerabilities
or misinterpretation of arguments as flags, this change updates the VCS
commands to use various techniques to separate flags from positional
arguments, and to directly associate flags with their values.

Additionally, we update the environment variable for Mercurial to use
`HGPLAIN=+strictflags`, which is the more explicit way to disable user
configurations (intended or otherwise) that might interfere with command
execution.

We also now disallow version strings from being prefixed with '-' or
'/', as doing so opens us up to making the same mistake again in the
future. As far as we know there are currently ~0 public modules affected
by this.

While I was working on cmd/go/internal/vcs, I also noticed that a
significant portion of the commands being implemented were dead code.
In order to reduce the maintenance burden and surface area for potential
issues, I removed the dead code for unused commands.

We should probably follow up with a more structured change to make it
harder to accidentally re-introduce these issues in the future, but for
now this addresses the issue at hand.

Thanks to splitline (@splitline) from DEVCORE Research Team for
reporting this issue.

Fixes CVE-2025-68119
Fixes #77099

Change-Id: I9d9f4ee05b95be49fe14edf71a1b8e6c0784378e
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/3260
Reviewed-by: Damien Neil &lt;dneil@google.com&gt;
Reviewed-by: Nicholas Husin &lt;husin@google.com&gt;
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/3342
Reviewed-by: Michael Matloob &lt;matloob@google.com&gt;
Reviewed-on: https://go-review.googlesource.com/c/go/+/736721
Reviewed-by: Junyang Shao &lt;shaojunyang@google.com&gt;
Auto-Submit: Michael Pratt &lt;mpratt@google.com&gt;
TryBot-Bypass: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.25] crypto/tls: don't copy auto-rotated session ticket keys in Config.Clone</title>
<updated>2026-01-15T18:14:47Z</updated>
<author>
<name>Roland Shoemaker</name>
<email>bracewell@google.com</email>
</author>
<published>2026-01-06T22:36:01Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=4be38528a68a8b0c4e101576df200c214ad49c26'/>
<id>urn:sha1:4be38528a68a8b0c4e101576df200c214ad49c26</id>
<content type='text'>
Once a tls.Config is used, it is not safe to mutate. We provide the
Clone method in order to allow users to copy and modify a Config that
is in use.

If Config.SessionTicketKey is not populated, and if
Config.SetSessionTicketKeys has not been called, we automatically
populate and rotate session ticket keys. Clone was previously copying
these keys into the new Config, meaning that two Configs could share
the same auto-rotated session ticket keys. This could allow sessions to
be resumed across different Configs, which may have completely different
configurations.

This change updates Clone to not copy the auto-rotated session ticket
keys.

Additionally, when resuming a session, check that not just that the leaf
certificate is unexpired, but that the entire certificate chain is still
unexpired.

Fixes #77113
Fixes CVE-2025-68121

Change-Id: I011df7329de83068d11b3f0c793763692d018a98
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/3300
Reviewed-by: Damien Neil &lt;dneil@google.com&gt;
Reviewed-by: Nicholas Husin &lt;husin@google.com&gt;
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/3321
Reviewed-on: https://go-review.googlesource.com/c/go/+/736720
Auto-Submit: Michael Pratt &lt;mpratt@google.com&gt;
TryBot-Bypass: Michael Pratt &lt;mpratt@google.com&gt;
Reviewed-by: Junyang Shao &lt;shaojunyang@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.25] crypto/tls: reject trailing messages after client/server hello</title>
<updated>2026-01-07T21:28:52Z</updated>
<author>
<name>Roland Shoemaker</name>
<email>roland@golang.org</email>
</author>
<published>2025-11-24T22:03:10Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=525dd853633f90d6038719d9a48cba3770ca71ea'/>
<id>urn:sha1:525dd853633f90d6038719d9a48cba3770ca71ea</id>
<content type='text'>
For TLS 1.3, after procesesing the server/client hello, if there isn't a
CCS message, reject the trailing messages which were appended to the
hello messages. This prevents an on-path attacker from injecting
plaintext messages into the handshake.

Additionally, check that we don't have any buffered messages before we
switch the read traffic secret regardless, since any buffered messages
would have been under an old key which is no longer appropriate.

We also invert the ordering of setting the read/write secrets so that if
we fail when changing the read secret we send the alert using the
correct write secret.

Updates #76443
Fixes #76855
Fixes CVE-2025-61730

Change-Id: If6ba8ad16f48d5cd5db5574824062ad4244a5b52
Reviewed-on: https://go-review.googlesource.com/c/go/+/724120
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Michael Knyszek &lt;mknyszek@google.com&gt;
Reviewed-by: Daniel McCarney &lt;daniel@binaryparadox.net&gt;
Reviewed-by: Coia Prant &lt;coiaprant@gmail.com&gt;
(cherry picked from commit 5046bdf8a612b35a2c1a9e168054c1d5c65e7dd7)
Reviewed-on: https://go-review.googlesource.com/c/go/+/731960
Reviewed-by: Damien Neil &lt;dneil@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.25] Revert "errors: optimize errors.Join for single unwrappable errors"</title>
<updated>2026-01-07T18:12:19Z</updated>
<author>
<name>Damien Neil</name>
<email>dneil@google.com</email>
</author>
<published>2025-12-23T00:35:42Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=ddcf27fc8c8af1be6304dbe772b76fcdd70d4099'/>
<id>urn:sha1:ddcf27fc8c8af1be6304dbe772b76fcdd70d4099</id>
<content type='text'>
This reverts CL 635115.

Reason for revert: The new behavior does not match the function documentation.

For #76961
Fixes #76973

Change-Id: If2450aa4efba28c7a12887a5b306c231a836e740
Reviewed-on: https://go-review.googlesource.com/c/go/+/731981
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@golang.org&gt;
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
Auto-Submit: Damien Neil &lt;dneil@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
(cherry picked from commit 1b3db48db7afc3fe17440af28cdeac67a0d048f1)
Reviewed-on: https://go-review.googlesource.com/c/go/+/734520
Reviewed-by: Junyang Shao &lt;shaojunyang@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.25] cmd/compile: handle propagating an out-of-range jump table index</title>
<updated>2026-01-07T17:25:08Z</updated>
<author>
<name>Cuong Manh Le</name>
<email>cuong.manhle.vn@gmail.com</email>
</author>
<published>2025-12-22T11:49:17Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=14f50f6e3e336873be5bc8ca2bb323b55ba65b55'/>
<id>urn:sha1:14f50f6e3e336873be5bc8ca2bb323b55ba65b55</id>
<content type='text'>
For an out-of-range jump table index, the constant facts should not be
propagated to the destinations.

Fixes #76967

Change-Id: Iff29814cb466c7aaa432cec212e5387665c45afc
Reviewed-on: https://go-review.googlesource.com/c/go/+/731860
Auto-Submit: Cuong Manh Le &lt;cuong.manhle.vn@gmail.com&gt;
Reviewed-by: David Chase &lt;drchase@google.com&gt;
Reviewed-by: Cherry Mui &lt;cherryyz@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-on: https://go-review.googlesource.com/c/go/+/732460
Reviewed-by: Junyang Shao &lt;shaojunyang@google.com&gt;
Commit-Queue: Junyang Shao &lt;shaojunyang@google.com&gt;
Auto-Submit: Junyang Shao &lt;shaojunyang@google.com&gt;
Reviewed-by: Michael Knyszek &lt;mknyszek@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.25] runtime: mark getfp as nosplit</title>
<updated>2025-12-30T01:52:02Z</updated>
<author>
<name>khr@golang.org</name>
<email>khr@golang.org</email>
</author>
<published>2025-12-08T14:21:39Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=4e531b2f1416793f82fd63040471b0f782e68624'/>
<id>urn:sha1:4e531b2f1416793f82fd63040471b0f782e68624</id>
<content type='text'>
When compiling with -l, we can't take a stack split here.

Fixes #76761

Change-Id: Ieab1225c6259c7f16bb5188aa84bff615d9db2e5
Reviewed-on: https://go-review.googlesource.com/c/go/+/728060
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Auto-Submit: Keith Randall &lt;khr@golang.org&gt;
Reviewed-by: Cherry Mui &lt;cherryyz@google.com&gt;
Reviewed-by: Keith Randall &lt;khr@google.com&gt;
(cherry picked from commit d4972f6295aede2ddc35bcb1da5f6351623e9e4d)
Reviewed-on: https://go-review.googlesource.com/c/go/+/728581
</content>
</entry>
</feed>
