Y­e­n­i­ ­‘­P­a­r­s­e­T­h­r­u­’­ ­P­a­r­a­m­e­t­r­e­s­i­ ­K­a­ç­a­k­ç­ı­l­ı­k­ ­G­ü­v­e­n­l­i­k­ ­A­ç­ı­ğ­ı­ ­G­o­l­a­n­g­ ­T­a­b­a­n­l­ı­ ­U­y­g­u­l­a­m­a­l­a­r­ı­ ­E­t­k­i­l­i­y­o­r­

Y­e­n­i­ ­‘­P­a­r­s­e­T­h­r­u­’­ ­P­a­r­a­m­e­t­r­e­s­i­ ­K­a­ç­a­k­ç­ı­l­ı­k­ ­G­ü­v­e­n­l­i­k­ ­A­ç­ı­ğ­ı­ ­G­o­l­a­n­g­ ­T­a­b­a­n­l­ı­ ­U­y­g­u­l­a­m­a­l­a­r­ı­ ­E­t­k­i­l­i­y­o­r­


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, “Yeni keşfedilen güvenlik açığı, bir tehdit aktörünün, dilde oluşturulmuş 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. bildiri Hacker News ile paylaşıldı.

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.

URL sorgularında ayar ayırıcı olarak “;” (noktalı virgül) kabul etmek için kullanılan net/url ve net/http paketleri, “&” (ve işareti)’ne ek olarak sürüm notları Geçen Ağustos’ta yayınlanan 1.17 sürümü için.

“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 özel hazırlanmış istekler göndermektir.

Bu da, şu gerçeği sayesinde mümkün olmaktadır: yöntemlerden biri ayrıştırılmış sorgu dizesini almaktan sorumlu olan, döndürülen hata mesajını sessizce atar.

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.


Popular Articles

Latest Articles