Kompilator języka Go nieprawidłowo weryfikował przepełnienie i niedomiar arytmetyki na zmiennych indukcyjnych w pętlach, co może skutkować uszkodzeniem pamięci w czasie wykonania programu. Podatność ma charakter krytyczny, ponieważ może być wykorzystana bez uwierzytelnienia i bez interakcji użytkownika.
▸ Pokaż oryginał (EN)
Arithmetic over induction variables in loops were not correctly checked for underflow or overflow. As a result, the compiler would allow for invalid indexing to occur at runtime, potentially leading to memory corruption.
W trakcie kompilacji kodu Go, operacje arytmetyczne wykonywane na zmiennych indukcyjnych (sterujących iteracją pętli) nie były poprawnie sprawdzane pod kątem przepełnienia (overflow) i niedomiaru (underflow). W konsekwencji wygenerowany przez kompilator kod maszynowy dopuszczał nieprawidłowe indeksowanie pamięci w czasie wykonania. Prowadziło to do dostępu do obszarów pamięci poza dozwolonymi granicami, co stanowi klasyczną formę memory corruption.
Atakujący może doprowadzić do uszkodzenia pamięci procesu, co w zależności od kontekstu aplikacji może umożliwić wykonanie dowolnego kodu (RCE), ujawnienie poufnych danych lub destabilizację działania systemu.
Należy zaktualizować kompilator Golang Go do wersji zawierającej poprawkę opisaną w change liście go.dev/cl/763765 oraz ponownie skompilować wszystkie aplikacje Go przy użyciu poprawionego kompilatora. Szczegółowe informacje o wersjach patcha dostępne są w referencjach producenta.
Aplikacje skompilowane przy użyciu kompilatora Golang Go — konkretne wersje wskazane w referencjach producenta (go.dev/issue/78333 oraz pkg.go.dev/vuln/GO-2026-4868)
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HGolang Go
APPGolang< 1.25.91.26.0 – 1.26.2 (bez)
Powiązane podatności
Przewidywalne UUID w Fiber v2 — podatność na generowanie słabych identyfikatorów
Golang crypto/tls: błędna walidacja certyfikatów przy wznawianiu sesji TLS
Błędna klasyfikacja adresów IPv4-mapped IPv6 w bibliotece standardowej Go
The go.mod toolchain directive, introduced in Go 1.21, can be leveraged to execute scripts and binaries relati...
The go command may execute arbitrary code at build time when using cgo. This may occur when running "go get" o...