CVE-2026-42501
Açıklama
Kötü niyetli bir modül proxy'si, go komutunun modül sağlama toplamı (checksum) doğrulamasındaki bir açığı kullanarak sağlama toplamı veritabanı doğrulamasını atlayabilir. Bu güvenlik açığı, güvenilmeyen bir modül proxy'si (GOMODPROXY) veya sağlama toplamı veritabanı (GOSUMDB) kullanan tüm kullanıcıları etkiler. Kötü niyetli bir modül proxy'si, Go araç zincirinin değiştirilmiş sürümlerini sunabilir. Mevcut yüklü araç zincirinden farklı bir Go araç zinciri sürümü seçildiğinde (GOTOOLCHAIN ortam değişkeni veya toolchain satırı içeren bir go.work veya go.mod nedeniyle), go komutu modül proxy'si tarafından sağlanan bir araç zincirini indirip çalıştıracaktır. Kötü niyetli bir modül proxy'si, indirilen bu araç zinciri için sağlama toplamı veritabanı doğrulamasını atlayabilir. Bu güvenlik açığı araç zinciri indirmelerinin güvenliğini etkilediğinden, GOTOOLCHAIN değerini sabit bir sürüme ayarlamak yeterli değildir. Temel Go araç zincirinizi yükseltmeniz gerekir. go aracı, bir araç zincirini çalıştırmadan önce her zaman özetini (hash) doğruladığından, sabit sürümler araç zincirinin önbelleğe alınmış herhangi bir değiştirilmiş sürümünü çalıştırmayı reddedecektir. go aracı, go.sum dosyalarının mevcut modülün bağımlılıklarının doğru özetlerini içerdiğine güvenir. Değiştirilmiş bir modül sunmak için bu güvenlik açığını kullanan kötü niyetli bir proxy, go.sum dosyasına yanlış bir özet kaydedilmesine neden olmuş olacaktır. Güvenilmeyen bir GOPROXY yapılandıran kullanıcılar, mevcut modülün tüm bağımlılıklarını yeniden doğrulayacak olan "rm go.sum ; go mod tidy ; go mod verify" komutunu çalıştırarak etkilenip etkilenmediklerini belirleyebilirler. Söz konusu açığın detayları şöyledir: Bir modül go.sum dosyasında listelenmediğinde, go komutu indirilen modülleri doğrulamak için sağlama toplamı veritabanına danışır. Sağlama toplamı veritabanı tarafından bildirilen modül özetinin, indirilen modülün özetiyle eşleştiğini doğrular. Ancak, sağlama toplamı veritabanı modül için hiçbir giriş içermeyen başarılı bir yanıt döndürürse, go komutu hatalı bir şekilde doğrulamanın başarılı olmasına izin vermiştir. Bir modül proxy'si, sağlama toplamı veritabanını yansıtabilir veya proxy olarak sunabilir; bu durumda go komutu doğrudan sağlama toplamı veritabanına bağlanmaz. Sağlama toplamı veritabanı tarafından bildirilen sağlama toplamları kriptografik olarak imzalanmıştır, bu nedenle kötü niyetli bir proxy bir modül için bildirilen sağlama toplamını değiştiremez. Bununla birlikte, boş bir sağlama toplamı yanıtı veya ilgisiz bir modül için sağlama toplamı yanıtı döndüren bir proxy, go komutunun indirilen bir modül doğrulanmış gibi işlem yapmasına neden olabilir.
Nasıl düzeltilir
- toolchain1.25.10, 1.26.3 ya da sonraki bir sürüm
- golang go1.25.10, 1.26.3 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| toolchainGo | v < 1.25.10, 1.26.0-0 ≤ v < 1.26.3 | 1.25.10, 1.26.3 |
| golang go | v < 1.25.10, 1.26.0 ≤ v < 1.26.3 | 1.25.10, 1.26.3 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.