ParseThru: Birkaç Go uygulamasında ortaya çıkan HTTP parametre kaçakçılığı hatası


Harbor, Traefik ve Skipper projeleri, güvenli olmayan URL ayrıştırma yöntemlerini ele alıyor

Birkaç Go uygulamasında ortaya çıkan HTTP parametre kaçakçılığı güvenlik açığı

Bir saldırganın bulut tabanlı Golang uygulamalarına yetkisiz erişim elde etmesine olanak verebilecek yeni bir güvenlik açığı bulundu.

Oxeye araştırmacılarına göre, açık kaynak bulut yerel dilinde yerleşik güvenli olmayan URL ayrıştırma yöntemlerinin kullanılması, bir tehdit aktörünün belirli koşullar altında doğrulamaları atlamasına olanak tanır.

Oxeye araştırma başkanı Daniel Abeles, “ParseThru bir parametre kaçakçılığı saldırısıdır, yani belirli koşullar altında bir tehdit aktörünün güvenli olmayan URL ayrıştırma kullanımı nedeniyle HTTP istek parametrelerine dayalı doğrulamaları atlamasına izin verir” dedi. Günlük Swig.

“Başarılı bir uzlaşma, potansiyel bir tehdit aktörü için hassas verileri okumaktan ve sırları sızdırmaktan diğer kullanıcılar adına eylemler gerçekleştirmeye ve daha fazlasına kadar çeşitli sonuçlara yol açabilir.”

noktalı virgül kaçakçılığı

GoLang – veya Go – URL’leri ayrıştırmak için ‘net/url’ kitaplığını kullanır ve 1.17 sürümünden önce, URL’nin sorgu kısmındaki noktalı virgülleri geçerli bir sınırlayıcı olarak kabul ederdi. Ancak 1.17 sürümü ile noktalı virgüller bir hata olarak değerlendirilir ve ayrıştırılmış sorgu dizesini almaktan sorumlu yöntemlerden biri döndürülen hatayı yok sayar.

Bu, 1.17 veya sonraki sürümlerde yerleşik Go tabanlı bir genel API’nin önceki bir sürümü çalıştıran dahili bir hizmetle iletişim kurduğunda, sorgu dizesinde noktalı virgül içeren özel hazırlanmış isteklerin gizlice girilebileceği anlamına gelir.

En son açık kaynaklı yazılım güvenlik haberlerini yakalayın

Oxeye araştırmacıları, birkaç açık kaynak projesinde başarılı bir şekilde yararlanabildikleri birkaç örnek buldu. Bunlar arasında, politikaları ve rol tabanlı erişim denetimiyle yapıtları güvence altına alan açık kaynaklı bir kayıt defteri olan CNCF mezun projesi Harbour vardı. Burada, “kimliği doğrulanmış bir kullanıcı (en düşük izin düzeyine sahip olsa bile), erişimi olmayan kısıtlı projelerin görüntü katmanlarını okumak için özel bir istekte bulunabilir”.

Diğer örnekler arasında, mikro hizmetlerin dağıtımını basitleştirmek için tasarlanmış modern bir HTTP ters proxy ve yük dengeleyici olan Traefik ve hizmet bileşimi için bir HTTP yönlendiricisi ve ters proxy olan Skipper sayılabilir.

Abeles, diğer programlama dillerinin de benzer sorunlardan muzdarip olabileceğini söylüyor.

“ParseThru, çoğunlukla güvenli olmayan URL ayrıştırma yöntemlerinin kullanımına dayanan bir güvenlik açığı olduğundan, Golang’a özgü herhangi bir zorluğu doğrudan yansıtmıyor, aksine çoğu programlama dilinin paylaştığı bir zorluğu yansıtıyor” dedi.

“Her dilin kendi URL ayrıştırma uygulaması vardır. Ancak hepsi birbirinden farklıdır ve sonuçta bu tür bir güvenlik açığına yol açan ayrıştırma boşluklarına neden olur.”

Oxeye, bulgularını etkilenen projelerin sahiplerine açıkladığını ve güvenlik açığını düzeltmelerine yardımcı olduğunu söyledi.

Oxeye CTO’su ve kurucu ortağı Ron Vider, “Artık, uygun yama ve/veya düzeltmenin uygulandığından emin olmak için kullanımda olan Golang tabanlı uygulamaların gözden geçirilmesini öneriyoruz” dedi.

BUNU DA BEĞENEBİLİRSİN Jenkins güvenliği: En son eklenti danışmanlığında bulunan yamasız XSS, CSRF hataları



Source link