<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go, branch go1.24.10</title>
<subtitle>Fork of Go programming language with my patches.</subtitle>
<id>http://git.kilabit.info/go/atom?h=go1.24.10</id>
<link rel='self' href='http://git.kilabit.info/go/atom?h=go1.24.10'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/'/>
<updated>2025-11-05T19:01:51Z</updated>
<entry>
<title>[release-branch.go1.24] go1.24.10</title>
<updated>2025-11-05T19:01:51Z</updated>
<author>
<name>Gopher Robot</name>
<email>gobot@golang.org</email>
</author>
<published>2025-11-05T18:58:48Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=0259df17feb288f1e24517516939b67876c2627b'/>
<id>urn:sha1:0259df17feb288f1e24517516939b67876c2627b</id>
<content type='text'>
Change-Id: I74370108e95298bec0fe0f7738867072ece0d0ff
Reviewed-on: https://go-review.googlesource.com/c/go/+/718063
TryBot-Bypass: Gopher Robot &lt;gobot@golang.org&gt;
Auto-Submit: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Michael Knyszek &lt;mknyszek@google.com&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.24] encoding/pem: properly calculate end indexes</title>
<updated>2025-10-29T16:22:33Z</updated>
<author>
<name>Roland Shoemaker</name>
<email>roland@golang.org</email>
</author>
<published>2025-10-23T15:16:39Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=562709bcf5b8f480d722d2f369d7757cb135e9ab'/>
<id>urn:sha1:562709bcf5b8f480d722d2f369d7757cb135e9ab</id>
<content type='text'>
When a block is missing the END line trailer, calculate the indexes of
the end and end trailer _before_ continuing the loop, making the
reslicing at the start of the loop work as expected.

Fixes #76028

Change-Id: If45c8cb473315623618f02cc7609f517a72d232d
Reviewed-on: https://go-review.googlesource.com/c/go/+/714200
Auto-Submit: Roland Shoemaker &lt;roland@golang.org&gt;
Reviewed-by: 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 839da71f8907ac4434299db4353db31835c916df)
Reviewed-on: https://go-review.googlesource.com/c/go/+/714680
Reviewed-by: David Chase &lt;drchase@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.24] encoding/pem: properly decode strange PEM data</title>
<updated>2025-10-24T18:03:15Z</updated>
<author>
<name>Roland Shoemaker</name>
<email>roland@golang.org</email>
</author>
<published>2025-10-15T17:45:04Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=bbf8f423abc9f92f4c1c5d98281ed0b21107b00d'/>
<id>urn:sha1:bbf8f423abc9f92f4c1c5d98281ed0b21107b00d</id>
<content type='text'>
When the passed byte slice has leading garbage, properly handle ignoring
it and continuing to parse the slice until we find a valid block (or
nothing).

Fixes #75951

Change-Id: I07e937d9c754fd71b028b99450b48f57b4464457
Reviewed-on: https://go-review.googlesource.com/c/go/+/712140
Reviewed-by: 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 09830901714d8b3a2cc5fb33e87a81886b21ea24)
Reviewed-on: https://go-review.googlesource.com/c/go/+/712641
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.24] net/url: allow IP-literals with IPv4-mapped IPv6 addresses</title>
<updated>2025-10-17T22:02:30Z</updated>
<author>
<name>Roland Shoemaker</name>
<email>roland@golang.org</email>
</author>
<published>2025-10-09T00:13:12Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=a216ddc295c3e983f78a7ff911ae20ca147b09b7'/>
<id>urn:sha1:a216ddc295c3e983f78a7ff911ae20ca147b09b7</id>
<content type='text'>
The security fix we applied in CL709857 was overly broad. It applied
rules from RFC 2732, which disallowed IPv4-mapped IPv6 addresses, but
these were later allowed in RFC 3986, which is the canonical URI syntax
RFC.

Revert the portion of CL709857 which restricted IPv4-mapped addresses,
and update the related tests.

Updates #75815
Fixes #75831

Change-Id: I3192f2275ad5c386f5c15006a6716bdb5282919d
Reviewed-on: https://go-review.googlesource.com/c/go/+/710375
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Ethan Lee &lt;ethanalee@google.com&gt;
Auto-Submit: Roland Shoemaker &lt;roland@golang.org&gt;
(cherry picked from commit 9db7e30bb42eed9912f5e7e9e3959f3b38879d5b)
Reviewed-on: https://go-review.googlesource.com/c/go/+/712142
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
Auto-Submit: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.24] go1.24.9</title>
<updated>2025-10-13T21:14:38Z</updated>
<author>
<name>Gopher Robot</name>
<email>gobot@golang.org</email>
</author>
<published>2025-10-13T21:05:31Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=8e10ef451a1b6a1e8861ced1154e1c3265bfa01b'/>
<id>urn:sha1:8e10ef451a1b6a1e8861ced1154e1c3265bfa01b</id>
<content type='text'>
Change-Id: I6deccf317a5f19ca9ee2a2eaddf65203ecfeb665
Reviewed-on: https://go-review.googlesource.com/c/go/+/711461
Auto-Submit: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
TryBot-Bypass: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Carlos Amedee &lt;carlos@golang.org&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.24] crypto/x509: rework fix for CVE-2025-58187</title>
<updated>2025-10-13T15:39:27Z</updated>
<author>
<name>Roland Shoemaker</name>
<email>roland@golang.org</email>
</author>
<published>2025-10-09T20:35:24Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=ca6a5545ba18844a97c88a90a385eb6335bb7526'/>
<id>urn:sha1:ca6a5545ba18844a97c88a90a385eb6335bb7526</id>
<content type='text'>
In CL 709854 we enabled strict validation for a number of properties of
domain names (and their constraints). This caused significant breakage,
since we didn't previously disallow the creation of certificates which
contained these malformed domains.

Rollback a number of the properties we enforced, making domainNameValid
only enforce the same properties that domainToReverseLabels does. Since
this also undoes some of the DoS protections our initial fix enabled,
this change also adds caching of constraints in isValid (which perhaps
is the fix we should've initially chosen).

Updates #75835
Updates #75828
Fixes #75860

Change-Id: Ie6ca6b4f30e9b8a143692b64757f7bbf4671ed0e
Reviewed-on: https://go-review.googlesource.com/c/go/+/710735
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Damien Neil &lt;dneil@google.com&gt;
(cherry picked from commit 1cd71689f2ed8f07031a0cc58fc3586ca501839f)
Reviewed-on: https://go-review.googlesource.com/c/go/+/710879
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
Auto-Submit: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.24] go1.24.8</title>
<updated>2025-10-07T18:17:23Z</updated>
<author>
<name>Gopher Robot</name>
<email>gobot@golang.org</email>
</author>
<published>2025-10-07T18:10:58Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=3a666bca00d7fb30d55e252131ea2cf2006dc3a3'/>
<id>urn:sha1:3a666bca00d7fb30d55e252131ea2cf2006dc3a3</id>
<content type='text'>
Change-Id: Ib7865e22255a979da9552ffd35145bb9dd39b53f
Reviewed-on: https://go-review.googlesource.com/c/go/+/709896
TryBot-Bypass: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Carlos Amedee &lt;carlos@golang.org&gt;
Auto-Submit: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.24] archive/tar: set a limit on the size of GNU sparse file 1.0 regions</title>
<updated>2025-10-07T18:01:00Z</updated>
<author>
<name>Damien Neil</name>
<email>dneil@google.com</email>
</author>
<published>2025-09-11T20:32:10Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=613e746327381d820759ebea6ce722720b343556'/>
<id>urn:sha1:613e746327381d820759ebea6ce722720b343556</id>
<content type='text'>
Sparse files in tar archives contain only the non-zero components
of the file. There are several different encodings for sparse
files. When reading GNU tar pax 1.0 sparse files, archive/tar did
not set a limit on the size of the sparse region data. A malicious
archive containing a large number of sparse blocks could cause
archive/tar to read an unbounded amount of data from the archive
into memory.

Since a malicious input can be highly compressable, a small
compressed input could cause very large allocations.

Cap the size of the sparse block data to the same limit used
for PAX headers (1 MiB).

Thanks to Harshit Gupta (Mr HAX) (https://www.linkedin.com/in/iam-harshit-gupta/)
for reporting this issue.

Fixes CVE-2025-58183
For #75677
Fixes #75710

Change-Id: I70b907b584a7b8676df8a149a1db728ae681a770
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/2800
Reviewed-by: Roland Shoemaker &lt;bracewell@google.com&gt;
Reviewed-by: Nicholas Husin &lt;husin@google.com&gt;
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/2967
Reviewed-by: Damien Neil &lt;dneil@google.com&gt;
Reviewed-on: https://go-review.googlesource.com/c/go/+/709843
Reviewed-by: Carlos Amedee &lt;carlos@golang.org&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.24] encoding/pem: make Decode complexity linear</title>
<updated>2025-10-07T18:00:57Z</updated>
<author>
<name>Roland Shoemaker</name>
<email>bracewell@google.com</email>
</author>
<published>2025-09-30T18:16:56Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=74d4d836b91318a8764b94bc2b4b66ff599eb5f2'/>
<id>urn:sha1:74d4d836b91318a8764b94bc2b4b66ff599eb5f2</id>
<content type='text'>
Because Decode scanned the input first for the first BEGIN line, and
then the first END line, the complexity of Decode is quadratic. If the
input contained a large number of BEGINs and then a single END right at
the end of the input, we would find the first BEGIN, and then scan the
entire input for the END, and fail to parse the block, so move onto the
next BEGIN, scan the entire input for the END, etc.

Instead, look for the first END in the input, and then the first BEGIN
that precedes the found END. We then process the bytes between the BEGIN
and END, and move onto the bytes after the END for further processing.
This gives us linear complexity.

Fixes CVE-2025-61723
For #75676
Fixes #75708

Change-Id: I813c4f63e78bca4054226c53e13865c781564ccf
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/2921
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/+/2986
Reviewed-on: https://go-review.googlesource.com/c/go/+/709842
TryBot-Bypass: Michael Pratt &lt;mpratt@google.com&gt;
Auto-Submit: Michael Pratt &lt;mpratt@google.com&gt;
Reviewed-by: Carlos Amedee &lt;carlos@golang.org&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.24] encoding/asn1: prevent memory exhaustion when parsing using internal/saferio</title>
<updated>2025-10-07T18:00:54Z</updated>
<author>
<name>Nicholas Husin</name>
<email>husin@google.com</email>
</author>
<published>2025-09-03T13:30:56Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=5c3d61c886f7ecfce9a6d6d3c97e6d5a8afb17d1'/>
<id>urn:sha1:5c3d61c886f7ecfce9a6d6d3c97e6d5a8afb17d1</id>
<content type='text'>
Within parseSequenceOf, reflect.MakeSlice is being used to pre-allocate
a slice that is needed in order to fully validate the given DER payload.
The size of the slice allocated are also multiple times larger than the
input DER:

- When using asn1.Unmarshal directly, the allocated slice is ~28x
  larger.
- When passing in DER using x509.ParseCertificateRequest, the allocated
  slice is ~48x larger.
- When passing in DER using ocsp.ParseResponse, the allocated slice is
  ~137x larger.

As a result, a malicious actor can craft a big empty DER payload,
resulting in an unnecessary large allocation of memories. This can be a
way to cause memory exhaustion.

To prevent this, we now use SliceCapWithSize within internal/saferio to
enforce a memory allocation cap.

Thanks to Jakub Ciolek for reporting this issue.

For #75671
Fixes #75704
Fixes CVE-2025-58185

Change-Id: Id50e76187eda43f594be75e516b9ca1d2ae6f428
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/2700
Reviewed-by: Roland Shoemaker &lt;bracewell@google.com&gt;
Reviewed-by: Damien Neil &lt;dneil@google.com&gt;
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/2984
Reviewed-by: Nicholas Husin &lt;husin@google.com&gt;
Reviewed-on: https://go-review.googlesource.com/c/go/+/709841
Reviewed-by: Carlos Amedee &lt;carlos@golang.org&gt;
Auto-Submit: Michael Pratt &lt;mpratt@google.com&gt;
TryBot-Bypass: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
</feed>
