#1144341 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

Package:
src:golang-1.26
Source:
src:golang-1.26
Submitter:
Salvatore Bonaccorso
Date:
2026-08-16 20:23:02 UTC
Severity:
normal
Tags:
#1144341#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

#1144341#20
Date:
2026-08-16 20:21:16 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
golang-1.26, 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 1144341@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.26 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 21:33:13 +0200
Source: golang-1.26
Architecture: source
Version: 1.26.6-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: 1144341
Changes:
 golang-1.26 (1.26.6-1) unstable; urgency=medium
 .
   * New upstream version 1.26.6 (Closes: #1144341)
     - 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:
 db371a73f42c7e6ec12fb60e0dda7d311332628f 2915 golang-1.26_1.26.6-1.dsc
 8938c2ce8c94e4e3d241761fe38188506186a599 34151057 golang-1.26_1.26.6.orig.tar.gz
 c97668f91cc75e9a476a7666cf8f24c40134437d 833 golang-1.26_1.26.6.orig.tar.gz.asc
 e3f1937ce43ce3ca462b96fcd1f4d0b3b83350c1 48320 golang-1.26_1.26.6-1.debian.tar.xz
 eeead8855627544f41ebce21fade5b38bcbec5bd 6508 golang-1.26_1.26.6-1_amd64.buildinfo
Checksums-Sha256:
 176ee446a284d37102ce641c82b375eae92566f011846b02a1ba38d739b4173a 2915 golang-1.26_1.26.6-1.dsc
 a0721c54c688901448d77ad9b3ec7ea7c474730755ff891382e92ecb93ff2cb1 34151057 golang-1.26_1.26.6.orig.tar.gz
 c23893bee874bd4607482f948395d0b93eed44670b792ad8d36e939e3c1141b4 833 golang-1.26_1.26.6.orig.tar.gz.asc
 cae2a3fc2480f70295d38889a9ef8828ebeb2c8609e1d12317a1b3abc98c0ee6 48320 golang-1.26_1.26.6-1.debian.tar.xz
 80033afd489e3cd9faa2f107481f9d263b55867a96a42fccb33c0f1551faedc7 6508 golang-1.26_1.26.6-1_amd64.buildinfo
Files:
 c90a9e95225a60b70037756c3a6a9614 2915 golang optional golang-1.26_1.26.6-1.dsc
 8c7d82daea174cc1608643cfd5e623aa 34151057 golang optional golang-1.26_1.26.6.orig.tar.gz
 26efbb52ac7042278e13abab62a9063a 833 golang optional golang-1.26_1.26.6.orig.tar.gz.asc
 3856fc0864bf5bcb07a32f7fca7a5097 48320 golang optional golang-1.26_1.26.6-1.debian.tar.xz
 a09a08e5401f6f4bba7f9ed8f424dc23 6508 golang optional golang-1.26_1.26.6-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE0cuPObxd7STF0seMEwLx8Dbr6xkFAmqCE14ACgkQEwLx8Dbr
6xkSxA/8CiQ7S5s0HJKI5eETdIlECp3Pv6y57LrKy5kCn+DEVhNbk3TGtDgutiyt
FaM5vodY3VbzOXW4CP7+0MFMoQ5DoE21aTXYqaulWImjm3KXctNlAbhovXQqquYD
kqgirVLqlnv+deaqGDYWoONFHc4AUr3N92Y5JcZVttrJzEwxESOQSs56Hc8AGlzx
Jko1YcDjn6SOfuKROJz5dEP8WXNGPexos+Iii4/YqNNJMmgrhQUadpCWmd+uE0kU
90/YkmELZ5F9wmMKtv8NphX3Esqx4EuH5Cv7U6HBBHXKrL2Y9BenTpUUh4a+F1n/
CV/WNu+UsGDjuntePMRspSuLRHfrUptVuAtm41gQjZioLML37HFi1RkJr/C4oIJk
8RgJhP74VwRGwsXr86+cJ/krOuPhsOELvVF+k/wzAHN5fYMuoV8iN6hKyEWfR1Bv
KLBurIZR9wZy7s3jiahSh9km10P64NnvrYznYAzQsLyb5o/vXPIc/AKxNxeF0JaC
pI2wwQ3FQVZpuHlrbfh3JRNgtId18/zN18QvDZQclJSFEiPHyC++qUfb14N3ICe9
rribqP3J7eiAYo0bCFHw2CpMvluly19d0ecm7NlpNilLOo/Rbo/LOT4xNRIkK1u9
sykc7o+Ggb4u6yrtyo0RKNkqdTxZNVDTY7Buu9DTzEwjLO4Sl18=
=APbo
-----END PGP SIGNATURE-----