CVE-2018-16873
Açıklama
Go 1.10.6 öncesi ve 1.11.x 1.11.3 öncesi sürümlerde, "go get" komutu; -u bayrağıyla ve kötü amaçlı bir Go paketinin veya bu paketi doğrudan ya da dolaylı olarak içe aktaran bir paketin içe aktarma yolu ile çalıştırıldığında uzaktan kod çalıştırmaya karşı savunmasızdır. Özellikle, yalnızca GOPATH modunda savunmasızdır ancak modül modunda değildir (bu ayrım https://golang.org/cmd/go/#hdr-Module_aware_go_get adresinde belgelenmiştir). Özel alan adları kullanılarak, "/.git" ile biten bir vanity içe aktarma yolu aracılığıyla bir Git deposunun ".git" adlı bir klasöre klonlanması sağlanabilir. Eğer Git deposu kökünde bir "HEAD" dosyası, bir "config" dosyası, bir "objects" dizini ve bir "refs" dizini bulunuyorsa, işlemlerin doğru sıralamasını sağlamak için yapılacak bazı çalışmalarla, "go get -u" üst dizini bir depo kökü olarak kabul etmesi ve üzerinde Git komutlarını çalıştırması konusunda kandırılabilir. Bu durum, yapılandırma için orijinal Git deposu kökündeki "config" dosyasını kullanacaktır ve eğer bu yapılandırma dosyası kötü amaçlı komutlar içeriyorsa, bu komutlar "go get -u" işlemini çalıştıran sistemde yürütülecektir.
Nasıl düzeltilir
- golang go1.10.6, 1.11.3 ya da sonraki bir sürüm
- toolchain1.10.6, 1.11.3 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| golang go | v < 1.10.6, 1.11.0 ≤ v < 1.11.3 | 1.10.6, 1.11.3 |
| opensuse backports_sle | 15.0 | — |
| opensuse leap | 15.0, 15.1, 42.3 | — |
| suse linux_enterprise_server | 12 | — |
| debian debian_linux | 9.0 | — |
| toolchainGo | v < 1.10.6, 1.11.0-0 ≤ v < 1.11.3 | 1.10.6, 1.11.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.