NodeBB’de sekiz açık yamalandı: yönetici paneli ve özel mesajlar risk altındaydı

Anasayfa » NodeBB’de sekiz açık yamalandı: yönetici paneli ve özel mesajlar risk altındaydı
NodeBB’de sekiz açık yamalandı: yönetici paneli ve özel mesajlar risk altındaydı

NodeBB, yapay zekâ destekli bir incelemede ortaya çıkarılan sekiz güvenlik açığını kapattı. 4.14.0 öncesindeki tüm sürümleri etkileyen hatalar, bazı senaryolarda yönetici paneline izinsiz erişim, özel mesajların okunması ve özel kategori içeriklerinin açığa çıkmasına yol açabiliyordu.

Araştırmacılar, açıkları forum yazılımının kaynak kodunda yaptıkları altı saatlik incelemede buldu. Şirketin yayımladığı düzeltmelerin ardından yöneticilere 4.14.2 sürümüne geçmeleri öneriliyor. Son sürüm 23 Temmuz’da yayımlandı; NodeBB, 4.14.0 ile sayfa metinlerinin işlenme biçimini değiştirdiği için özel tema ve eklentilerde ek uyarlama gerekebileceğini de belirtiyor.

Bir ayarlamayla yönetici ekranı açılabiliyordu

İncelemede ortaya çıkan en basit açık, sıradan bir forum üyesinin profilindeki ana sayfa ayarını yönetici adresine yönlendirerek yönetim panelini kendi oturumunda açabilmesine imkân tanıyordu. Parola, özel bir exploit kodu ya da ek kimlik doğrulama gerekmiyordu.

Forumun arayüzü bu ayarın değiştirilmesini engelliyor görünüyordu, ancak kontrol yalnızca tarayıcı tarafında çalıştığı için aşılabiliyordu. Bu yolla erişilebilen alanların çoğu salt okunurdu; hata günlüğü ve bir yöneticinin dışa aktarmış olabileceği kullanıcı listesi bunların arasındaydı. Yine de saldırganlar site logosunu değiştirebilecek kadar yetki kazanabiliyordu.

Daha kritik iki açık, forumda hesabı olmayan kişilere özel içeriklere erişim veriyordu. Bunlardan biri, herhangi bir kullanıcının kimliğine bürünüp özel mesajları tek tek okumaya izin veriyordu. Diğeri ise doğru yöntemle istenildiğinde özel kategorilerin içeriğini dışarı veriyordu.

En geniş etki alanına sahip zafiyet, NodeBB’nin sayfa oluşturma mantığında yer alıyordu. Yazılım önce sayfayı oluşturuyor, ardından ikinci bir geçişte metinleri çeviri yer tutucularıyla değiştiriyordu. Kullanıcı girdisi bu aşamada zaten sayfanın içinde bulunduğu için, ikinci geçişin aradığı kodları içine gizleyebiliyordu. Böylece saldırgan, site içinde neredeyse her yere, normal forum iletilerinin içine bile, tıklanınca kendi kodunu çalıştıran bir bağlantı yerleştirebiliyordu.

Kalan açıklar, mevcut bir gönderinin sahipliğini ele geçirme, bir iletinin oy sayısını yapay biçimde şişirme ve NodeBB forumlarının bağlanabildiği fediverse ağında sahte bir sunucu üzerinden kötü amaçlı kod yerleştirme gibi saldırılara kapı aralıyordu. Bu son grup, NodeBB’nin Mastodon ve diğer sosyal platformlarla konuşan federasyon katmanında yer alıyordu.

Fediverse tarafındaki kodlar da hedef oldu

İncelemeyi yapan araştırmacılar, sekiz açığın tamamının aynı düzeyde olmadığını vurguluyor. Üçü hedef forumda hiçbir hesabı olmayan saldırganlar tarafından kullanılabiliyor. İkisi sıradan bir üye hesabı gerektiriyor. Kalan üçü ise bir bağlantıya tıklama ya da bir sayfayı açma koşuluna bağlı.

Bu dağılım, etkilenen forumların kurulum biçimine göre değişiyor. Yeni kurulan ve 4 sürümüyle açılan NodeBB forumlarında federasyon varsayılan olarak etkin geliyor, dolayısıyla sekiz açığın tamamı devreye girebiliyor. 3 sürümünden yükseltilen forumlarda ise federasyon otomatik olarak kapatılıyor; yönetici yeniden açmadıkça yalnızca üç açık geçerli kalıyor.

Yayımlanan notlarda bireysel açıklara puan verilmedi. NodeBB’nin kendi hata ödül sistemi ise kimlik doğrulaması aşarak yönetici erişimi elde etmeyi kritik, çapraz site betik çalıştırmayı ve hesap ele geçirmeyi yüksek risk sınıfına koyuyor. Aikido da tek tek güvenlik derecelendirmesi açıklamadı.

Bazı yamalar mayıs ayından beri sessizce dağıtıldı. Yayın geçmişiyle karşılaştırıldığında, dört düzeltmenin mayısta, ikisinin haziranda geldiği görülüyor. En büyük değişiklik ise sayfa metinlerinin işlenme biçimini yeniden kuran ve 9 Temmuz’da 4.14.0 sürümüyle yayımlanan güncellemeydi; bu değişiklik 325 dosyaya dokundu.

Aikido’nun yayımladığı not, açıkların temmuz başında kapatıldığını söylüyor ancak bu tarih NodeBB’nin kayıtlarıyla birebir örtüşmüyor. Yönetim paneliyle ilgili düzeltmeye verilen bağlantı, incelemeden iki yıl önce, ocak 2024’te yapılmış bir değişikliği işaret ediyor. NodeBB’nin kendi sürüm notlarıysa mayıs ayında yapılan farklı bir değişikliği referans gösteriyor. Taraflardan hiçbiri bu uyumsuzluğu açıklamış değil.

NodeBB, 23 Temmuz’da çıkan 4.14.2 sürümüne geçilmesini istiyor. Şirket, 4.14.0 ile birlikte şablonların metni işleme şeklini değiştirdiği için özel temalar ve eklentilerin güncellenmesi gerekebileceğini de not düşüyor. Federasyonu kapatmak da tek başına yeterli çözüm değil; çünkü sekiz açığın üçü federasyon katmanından bağımsız çalışıyor.

Bu sekiz açık için henüz bir CVE numarası ayrılmadı ve bilinen bir istismar vakası da yok. Ancak aynı federasyon kodunda bulunan ayrı bir hata için 1 Temmuz’da CVE-2026-58593 kaydı açıldı. Bu sorun Aikido’nun listesine girmiyor; yine de aynı kod tabanında yer alıyor ve dış bir sunucunun, yönetici hesabı dahil, herhangi bir yerel kullanıcı adına mesaj göndermesine izin veriyor. Çalışması için federasyonun açık olması gerekiyor; kayıtta henüz düzeltilmiş bir sürüm belirtilmiyor.

NodeBB’nin hata ödül sayfası, yapay zekâ tarafından üretilen raporları kabul etmediğini ve yalnızca başvuruyu yapan kişinin kendi çalışması için ödeme yaptığını belirtiyor. Bu kural ödeme mekanizmasını kapsıyor, düzeltmeleri değil. Sekiz açık doğrudan bakım ekibine iletildi ve yamalandı.

Aynı tablo yalnızca NodeBB’ye özgü değil. n8n, haziran ayında farklı bir yapay zekâ destekli pentest aracının bulduğu bir giriş açığını kapatmıştı. Şirketin kurucu ortağı Julian Lam, sürüm duyurusundaki notunda ay boyunca düzenli güvenlik bildirimi aldıklarını, bunların da neredeyse tamamının yapay zekâ tarafından keşfedilip üretilmiş olduğunu yazdı.

NodeBB’de görülen sekiz açığın ortak noktası, ana erişim yolunda kimlik doğrulaması yapılırken yan yolda aynı kontrole başvurulmamasıydı. Araştırmacıların ortaya koyduğu tablo, hataların tek tek farklı etkiler yaratmasına rağmen tasarım seviyesinde aynı sınıfta toplandığını gösteriyor.