NodeBB prototip kirlilik kusuru, hesabın ele geçirilmesine yol açabilir


“Normalde anlayabileceğiniz gibi bir prototip kirlilik güvenlik açığı değil”

NodeBB prototip kirlilik kusuru, hesabın ele geçirilmesine yol açabilir

Forum uygulamaları oluşturmaya yönelik bir Node.js platformu olan NodeBB, saldırganların diğer kullanıcıları taklit etmesine ve yönetici hesaplarını ele geçirmesine izin verebilecek bir prototip kirlilik güvenlik açığını yamaladı.

Güvenlik açığı, JavaScript’in çalışma zamanında nesne prototiplerini değiştirme esnekliğinin yanlış yönetilmesinden kaynaklanıyordu.

Soketleri kullanmak

NodeBB, istemci ile sunucu arasında eşzamansız, çift yönlü iletişim ve daha akıcı bir sohbet deneyimi sağlamak için Node.js uygulamalarının web soketlerini kullanmasına izin veren bir JavaScript kitaplığı olan Socket.IO’yu kullanır.

Ancak NodeBB geliştiricileri, saldırganların Socket.IO’nun nesnelerini kötüye kullanmasına izin verebilecek bir nesne tanımı kullanmıştı. NodeBB’nin geliştiricileri The Daily Swig’e, geliştiricilere uygulamalarını güncellemeleri için biraz zaman tanımak amacıyla hata hakkında yalnızca sınırlı bilgi yayınladıklarını söyledi.

KAÇIRMAYIN Black Hat Europe 2022: Savunulabilir bir internet mümkün, ancak yalnızca sektörel makyajla

Ancak bu destekçilerden biri olan Barış Uşaklı, “bir saldırganın diğer kullanıcıları taklit etmesine veya yönetici olarak Socket.IO aramaları yapmasına izin verdiği için sorunun büyük bir etkisi olduğunu” doğruladı.

Varsayılan bir NodeBB yüklemesinde güvenlik açığı, kimliği doğrulanmamış bir kullanıcının uygulamaya yönetici erişimi elde etmesine izin verebilir. Örnek, eklentileri iki faktörlü kimlik doğrulama gibi ek kontrollerle etkinleştirmiş olsaydı, etki daha sınırlı olur ve uygulamaya kimliği doğrulanmış erişim gerektirir.

Uşaklı, böceğin doğada istismar edildiğine dair bir kanıt olmadığını söyledi. Bakımcılar, sorunu bildirildiği gün ve ertesi gün barındırılan istemcilerinde sorunu yamaladılar.

Ortalama prototip kirlilik hatanız değil

Dikkatlice hazırlanmış bir yük (genellikle kullanıcılar tarafından sağlanan bir girdi) JavaScript nesnelerinin prototipini değiştirebildiğinde ve uygulamanın davranışını değiştirebildiğinde, JavaScript uygulamaları prototip kirliliğine eğilimlidir.

Ancak, NodeBB hatası, bu hata sınıfındaki tipik kusurlardan farklıdır.

Hatayı keşfeden ve bildiren güvenlik araştırmacısı Stephen Bradshaw, “Bu normalde anlayabileceğiniz gibi bir prototip kirlilik güvenlik açığı değil” dedi. günlük yudum.

ÖNERİLEN Prototip kirliliği: JavaScript uygulamalarını etkileyen tehlikeli, hafife alınan güvenlik açığı

“Bu durumda, Socket.IO arabirimi aracılığıyla çalıştırılan beyaz listeye alma işlevlerinden sorumlu olan bir nesnenin prototipine erişim, uygulamanın ortamını, ayrıcalıkların yükseltilmesini mümkün kılacak şekilde değiştirmek için kötüye kullanılabilir.”

NodeBB sağlayıcıları ile yapılan anlaşma uyarınca Bradshaw, yazımının ve tam kullanım ayrıntılarının yayınlanmasını Ocak ayına erteledi.

Nesnelerinizi nasıl bildirdiğinize dikkat edin

Hatanın yaması, nesnelerden birini bildirmek için kullanılan yöntemi değiştiren basit bir tek satırlık değişiklikti.

Uşaklı, “Sorunun ve düzeltmenin ana çıkarımı, bu nesnenin özelliklerine son kullanıcı tarafından sağlanan değerlerle erişilecekse, düz bir JavaScript nesnesi (yani, ) kullanmanın kötü bir fikir olduğudur” dedi.

İşin iyi yanı, NodeBB bulut sunucularına yama uygulamanın oldukça kolay olmasıdır. Geliştiricilerin uygulamalarını en son sürüme yükseltememeleri durumunda, yama taahhüdünü seçip güvenlik düzeltmesini alabilirler.

Bradshaw, güvenlik değerlendiricileri ve geliştiricilerin bir uygulamayı kodlarken ve incelerken “programlama dilinin ‘tuhaf’ özelliklerini anlamalarının” önemli olduğunu söyledi.

Bradshaw, “JavaScript’te prototip kalıtımı bunun en iyi örneğidir – güvenlik açıklarına yol açabilecek dile özgü bir sorundur, bu nedenle özellikle JavaScript yazan geliştiricilerin bunun farkında olması gerekir” dedi.

İLİŞKİLİ Açık kaynaklı forum yazılımı NodeBB’deki kritik güvenlik açıkları, RCE’ye yol açabilir



Source link