Güvenlik araştırmacıları, adı verilen yeni bir güvenlik açığı keşfetti. ParseThru Bulut tabanlı uygulamalara yetkisiz erişim elde etmek için kötüye kullanılabilecek Golang tabanlı uygulamaları etkileyen.
İsrailli siber güvenlik firması Oxeye, The Hacker News ile paylaşılan bir raporda, “Yeni keşfedilen güvenlik açığı, bir tehdit aktörünün, dilde yerleşik güvenli olmayan URL ayrıştırma yöntemlerinin kullanılmasının bir sonucu olarak, belirli koşullar altında doğrulamaları atlamasına izin veriyor.” Dedi.
Sorun, özünde, “net/url” kitaplığında uygulanan Golang’ın URL ayrıştırma mantığında yapılan değişikliklerden kaynaklanan tutarsızlıklarla ilgilidir.
1.17’den önceki programlama dili sürümleri, noktalı virgülleri geçerli bir sorgu sınırlayıcı olarak ele alırken (örn., example.com?a=1;b=2&c=3), bu davranış, o zamandan beri, aşağıdakileri içeren bir sorgu dizesi bulduktan sonra bir hata verecek şekilde değiştirildi. noktalı virgül.
Geçen Ağustos’ta yayınlanan 1.17 sürümünün sürüm notlarına göre, “&” (ve işareti)’ne ek olarak, URL sorgularında ayar ayırıcı olarak “;” (noktalı virgül) kabul etmek için kullanılan net/url ve net/http paketleri.
“Artık, yüzde kodlanmamış noktalı virgül içeren ayarlar reddediliyor ve net/http sunucuları, bir istek URL’sinde biriyle karşılaştığında ‘Server.ErrorLog’ için bir uyarı günlüğe kaydedecek.”
Sorun, 1.17 veya sonraki sürümler üzerine kurulu Golang tabanlı bir genel API’nin, daha önceki bir sürümü çalıştıran bir arka uç hizmetiyle iletişim kurduğunda ortaya çıkar ve kötü niyetli bir aktörün, aksi takdirde reddedilecek olan sorgu parametrelerini içeren istekleri kaçırabileceği bir senaryoya yol açar.
Basitçe söylemek gerekirse, fikir, sorgu dizesinde kullanıcıya yönelik Golang API tarafından yok sayılan ancak dahili hizmet tarafından işlenen noktalı virgül içeren istekler göndermektir. Bu da, ayrıştırılmış sorgu dizesini almaktan sorumlu yöntemlerden birinin döndürülen hatayı sessizce atması nedeniyle mümkün olur.
Oxeye, Harbour, Traefik ve Skipper gibi açık kaynaklı projelerde, uygulanan doğrulamaları atlamayı ve yetkisiz eylemler gerçekleştirmeyi mümkün kılan birkaç ParseThru örneği tespit ettiğini söyledi. Sorunlar, ilgili satıcılara sorumlu açıklamanın ardından ele alınmıştır.
Bu, URL ayrıştırmanın ilk kez bir güvenlik sorunu oluşturması değil. Bu Ocak ayının başlarında Claroty ve Snyk, URL ayrıştırmadaki karışıklığın bir sonucu olarak C, JavaScript, PHP, Python ve Ruby dillerinde yazılmış üçüncü taraf kitaplıklarındaki sekiz kadar kusuru açıkladılar.