#1144340 golang-1.27: CVE-2026-33818 CVE-2026-56853 CVE-2026-56858 CVE-2026-56859 CVE-2026-56860 CVE-2026-56862 CVE-2026-56864 CVE-2026-56865

Package:
src:golang-1.27
Source:
src:golang-1.27
Submitter:
Salvatore Bonaccorso
Date:
2026-08-16 21:21:02 UTC
Severity:
normal
Tags:
#1144340#5
Date:
2026-08-14 06:54:13 UTC
From:
To:
Source: golang-1.27
Version: 1.27~rc2-1
Severity: grave
Tags: security upstream
X-Debbugs-Cc: carnil@debian.org, Debian Security Team <team@security.debian.org>
Control: clone -1 -2 -3
Control: reassign -2 src:golang-1.26 1.26.5-1
Control: retitle -2 golang-1.26: CVE-2026-33818 CVE-2026-56853 CVE-2026-56858 CVE-2026-56859 CVE-2026-56860 CVE-2026-56862 CVE-2026-56864 CVE-2026-56865
Control: reassign -3 src:golang-1.25 1.25.12-1
Control: retitle -3 golang-1.25: CVE-2026-33818 CVE-2026-56853 CVE-2026-56858 CVE-2026-56859 CVE-2026-56860 CVE-2026-56862 CVE-2026-56864 CVE-2026-56865

Hi,

The following vulnerabilities were published for go.

CVE-2026-33818[0]:
| Enforce a recursion limit in Unmarshal to prevent stack exhaustion
| when parsing deeply-nested, recursive structures.


CVE-2026-56853[1]:
| When a server is configured to support unencrypted HTTP/2, it reads
| a few bytes from each new connection to see if they contain the
| HTTP/2 client preface. ReadHeaderTimeout is unexpectedly not being
| applied when doing this.


CVE-2026-56858[2]:
| Previously, pathological inputs could close an unescaped '/' early,
| allowing for attack-controlled data to inject arbitrary content,
| potentially leading to XSS.


CVE-2026-56859[3]:
| Previously, DecodeElement would reset the depth counter causing it
| to never fire; this could lead to stack exhaustion.


CVE-2026-56860[4]:
| Previously, resolving relative paths containing parent directory
| ('..') segments performed string conversions and buffer rewrites on
| each step, resulting in quadratic time complexity and high memory
| allocation overhead. Now, path resolution operates on a byte buffer
| using index-based backtracking for '..' segments, eliminating the
| quadratic time complexity and significantly reducing memory
| allocations.


CVE-2026-56862[5]:
| Handshake messages, such as KeyUpdate, are always considered as
| state-advancing, regardless of whether a handshake has been
| completed or not. As a result, a malicious client can keep sending
| KeyUpdate messages to force the server to keep performing key
| derivation operations indefinitely.


CVE-2026-56864[6]:
| A malicious GOSUMDB was capable of serving arbitrary module content
| not contained within the transparency log. This attack allows for a
| coordinating GOPROXY and GOSUMDB to serve a client malicious module
| content that cannot be detected by evaluating the transparency log.
| In order to determine if you have been affected:   rm -r go.sum
| go.work.sum vendor/ && go mod tidy


CVE-2026-56865[7]:
| A malicious GOPROXY was previously capable of forging up to two
| sumdb tiles that allow for a requested module to bypass the GOSUMDB
| check and persist attacker-controlled module content to a local Go
| module cache. This attack allows for a malicious GOPROXY to serve
| malicious module content that cannot be detected by evaluating the
| transparency log. All tiles are now correctly verified against their
| parents. In order to determine if you have been affected:   rm -r
| go.sum go.work.sum vendor/ && go mod tidy


If you fix the vulnerabilities please also make sure to include the
CVE (Common Vulnerabilities & Exposures) ids in your changelog entry.

For further information see:

[0] https://security-tracker.debian.org/tracker/CVE-2026-33818
https://www.cve.org/CVERecord?id=CVE-2026-33818
[1] https://security-tracker.debian.org/tracker/CVE-2026-56853
https://www.cve.org/CVERecord?id=CVE-2026-56853
[2] https://security-tracker.debian.org/tracker/CVE-2026-56858
https://www.cve.org/CVERecord?id=CVE-2026-56858
[3] https://security-tracker.debian.org/tracker/CVE-2026-56859
https://www.cve.org/CVERecord?id=CVE-2026-56859
[4] https://security-tracker.debian.org/tracker/CVE-2026-56860
https://www.cve.org/CVERecord?id=CVE-2026-56860
[5] https://security-tracker.debian.org/tracker/CVE-2026-56862
https://www.cve.org/CVERecord?id=CVE-2026-56862
[6] https://security-tracker.debian.org/tracker/CVE-2026-56864
https://www.cve.org/CVERecord?id=CVE-2026-56864
[7] https://security-tracker.debian.org/tracker/CVE-2026-56865
https://www.cve.org/CVERecord?id=CVE-2026-56865

Regards,
Salvatore

#1144340#12
Date:
2026-08-16 21:19:00 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
golang-1.27, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1144340@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Dr. Tobias Quathamer <toddy@debian.org> (supplier of updated golang-1.27 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sun, 16 Aug 2026 22:47:51 +0200
Source: golang-1.27
Architecture: source
Version: 1.27~rc3-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Go Compiler Team <team+go-compiler@tracker.debian.org>
Changed-By: Dr. Tobias Quathamer <toddy@debian.org>
Closes: 1144340
Changes:
 golang-1.27 (1.27~rc3-1) unstable; urgency=medium
 .
   * New upstream version 1.27~rc3 (Closes: #1144340)
     - CVE-2026-56865
       A malicious GOPROXY was previously capable of forging up to two sumdb
       tiles that allow for a requested module to bypass the GOSUMDB check and
       persist attacker-controlled module content to a local Go module cache.
       This attack allows for a malicious GOPROXY to serve malicious module
       content that cannot be detected by evaluating the transparency log. All
       tiles are now correctly verified against their parents. In order to
       determine if you have been affected: rm -r go.sum go.work.sum vendor/ &&
       go mod tidy
     - CVE-2026-56864
       A malicious GOSUMDB was capable of serving arbitrary module content not
       contained within the transparency log. This attack allows for a
       coordinating GOPROXY and GOSUMDB to serve a client malicious module
       content that cannot be detected by evaluating the transparency log. In
       order to determine if you have been affected: rm -r go.sum go.work.sum
       vendor/ && go mod tidy
     - CVE-2026-56862
       Handshake messages, such as KeyUpdate, are always considered as
       state-advancing, regardless of whether a handshake has been completed or
       not. As a result, a malicious client can keep sending KeyUpdate messages
       to force the server to keep performing key derivation operations
       indefinitely.
     - CVE-2026-56860
       Previously, resolving relative paths containing parent directory ('..')
       segments performed string conversions and buffer rewrites on each step,
       resulting in quadratic time complexity and high memory allocation
       overhead. Now, path resolution operates on a byte buffer using
       index-based backtracking for '..' segments, eliminating the quadratic
       time complexity and significantly reducing memory allocations.
     - CVE-2026-56859
       Previously, DecodeElement would reset the depth counter causing it to
       never fire; this could lead to stack exhaustion.
     - CVE-2026-56858
       Previously, pathological inputs could close an unescaped '/' early,
       allowing for attack-controlled data to inject arbitrary content,
       potentially leading to XSS.
     - CVE-2026-56853
       When a server is configured to support unencrypted HTTP/2, it reads a
       few bytes from each new connection to see if they contain the HTTP/2
       client preface. ReadHeaderTimeout is unexpectedly not being applied when
       doing this.
     - CVE-2026-33818
       Enforce a recursion limit in Unmarshal to prevent stack exhaustion when
       parsing deeply-nested, recursive structures.
Checksums-Sha1:
 b4891694f462a4af5d816709c67481609e04daa6 2935 golang-1.27_1.27~rc3-1.dsc
 675ee797a5771503f5e5c210a959c1c16e369253 35077555 golang-1.27_1.27~rc3.orig.tar.gz
 76c165795e01ff55674c71769abdde79e945d111 833 golang-1.27_1.27~rc3.orig.tar.gz.asc
 e182596528e07ccab479f6888e9cc19e2ca0c4a8 48360 golang-1.27_1.27~rc3-1.debian.tar.xz
 06dd1e05c50ae9e8665ed2f26fd6c5a5dd48dcb3 6540 golang-1.27_1.27~rc3-1_amd64.buildinfo
Checksums-Sha256:
 cf1f48ab45071f8ec86137797af2afa0a6fab23fb60d4a64b6b724870298e043 2935 golang-1.27_1.27~rc3-1.dsc
 e9e20edd1720095f9109696e963a66069d3f6d48d00eb9388c888ce06631df5c 35077555 golang-1.27_1.27~rc3.orig.tar.gz
 572d13669ca957d8db131ecf997a784ce42285763ccc6c6a4d5f0452393cb787 833 golang-1.27_1.27~rc3.orig.tar.gz.asc
 d53c5b6dd7743a42f1da8de412923db53c540aa7558e361818bd3cb318bbbed0 48360 golang-1.27_1.27~rc3-1.debian.tar.xz
 49a08faa9b0488012da979739400d08e28eeb98cf804bae7b74fb35c7f1a3df9 6540 golang-1.27_1.27~rc3-1_amd64.buildinfo
Files:
 3acec70db83cec233e210494b60b7a71 2935 golang optional golang-1.27_1.27~rc3-1.dsc
 70931f4d75b6b56b1fad97ce12b1d25b 35077555 golang optional golang-1.27_1.27~rc3.orig.tar.gz
 4d7f146caa1557e74b022c7ad0c9ddb5 833 golang optional golang-1.27_1.27~rc3.orig.tar.gz.asc
 f0237f0466e3b89ce167bc9331a66366 48360 golang optional golang-1.27_1.27~rc3-1.debian.tar.xz
 8c7a1baea050fb35ffd25b2e32a8129b 6540 golang optional golang-1.27_1.27~rc3-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIyBAEBCgAdFiEE0cuPObxd7STF0seMEwLx8Dbr6xkFAmqCJqYACgkQEwLx8Dbr
6xnbmw/2J7AetEG75Mlk5WlkSNVma+mtBbzLLk1499en4UkSO9Zb5CpKW/l6QOjd
AhAMj0YWk1zCcaN6s6ez9lg5jtKlSkO9hIcFdsDcr7rxemoATQyhrz+cq3KcKdgo
aHbLaELWmRfH31acyFj727IhZfgjyc8Ss2LXLMHdh8ITHKIkYsJ7CSCqF9gWHsJC
QhNPS1m/PaPcJlQ+uWIC3TJCyWTy9Bo2oIgKfQtuyEKOssZwWeO5gTGgGre8VjHQ
Qwu7yidrHbL2K6ONIRUN23UihaxL3hofdNp+Yq5J5zYGCpZM4cFk7tFWwMm8DUU2
d9ix+dCnUBCjkd2ugHdBSNcAfBXzqOzeHX0NMPmUpjGe5Nfakbs5YfbAKTH6xLOP
O/SnNAZv08lgh4GqZeP+4KSU3NEZpzU2Zu8sMrrW/NgoLo3RXpV54dXix+79QwUG
JZp3wp8UUI0wYz8fvDl2LtoB6HK8Y+EiV/oznZ3fX1YRev4Qks1ZcDIelyXpxAnc
4Hzqget9s2Efy+KukoRJs0DJbDgZYJZSdMzdLw8oAavRkrp3L3xqVdvTe5YU0TFd
fI21ZoTPC5mUPQk7SOz+nYPz1CDt914l5wuoUbLZqEGidJkcYg38s53R2999Qaij
gX51AwCH+qZ9Hj9RPQGUo7wNfeQlQO6C1ngvn0Mq350sM/6PPQ==
=Pipq
-----END PGP SIGNATURE-----