
LuaRocks.org RCE açığını duyurdu: veritabanının tamamı açığa çıkmış sayılıyor
LuaRocks.org, sitesindeki uzaktan kod çalıştırma açığının 9 Temmuz ile 20 Ağustos 2026 arasında birkaç kez kullanıldığını açıkladı. Site yeni bir sunucuya taşındı; tüm API anahtarları, oturumlar ve 2FA sırları iptal edildi.
Lua programlama dilinin paket deposu LuaRocks.org, sitesindeki uzaktan kod çalıştırma (RCE) açığının 9 Temmuz ile 20 Ağustos 2026 arasında birkaç kez kullanıldığını duyurdu. Bildirim 25 Eylül'de CISA koordinasyonuyla alındı ve açık 26 Eylül'de kapatıldı.
Saldırgan sunucuda kod çalıştırabildiği için sunucunun erişebildiği her şey açığa çıkmış kabul ediliyor. Site tamamen yeni bir sunucuya taşındı, eski sunucunun tuttuğu tüm kimlik bilgileri iptal edilip değiştirildi. Mevcut paketlerin değiştirildiğine dair kanıt bulunamadı.
Kullanıcıların yapması gerekenler
Tüm API anahtarları ve oturumlar iptal edildi; paket yüklemek için yeni bir anahtar gerekiyor ve yeniden giriş yapılması şart. Parolalar bcrypt hash'leri olarak saklanıyor: kırılmaları yavaş, ancak açığa çıkmış sayılmaları gerekiyor, bu yüzden parolayı ve aynı parolayı kullandığınız her yeri değiştirin. 2FA sırları da açığa çıktı ve silindi, dolayısıyla iki adımlı doğrulamanın yeniden kurulması gerekiyor.
Ekip, özellikle LuaJIT veya Lua 5.1 kullanılıyorsa LuaRocks'un 3.12 ya da daha yeni bir sürüme yükseltilmesini öneriyor: 3.11.1 ve daha eski sürümler, bir sunucu rockspec veya manifest yerine önceden derlenmiş bytecode gönderirse onu çalıştırır. Saldırganın 7 Ağustos'ta yüklediği bcrcewon, 7e0b94029db0 ve 7e0b9402f9c8 paketleri kaldırıldı; bunları kurmuş olanlar o makineyi ele geçirilmiş saymalı.
Açık nasıl çalışıyordu
Rockspec dosyaları Lua dosyalarıdır; LuaRocks.org, paketin adını ve sürümünü okumak için bunları kısıtlı bir ortamda çalıştırır. Yükleme için kullanılan fonksiyon, Lua kaynak kodunun yanı sıra önceden derlenmiş LuaJIT bytecode'unu da kabul ediyordu. LuaJIT bytecode'u doğrulamaz; bu yüzden hazırlanmış bir dosya kısıtlı ortamın dışındaki belleği okuyup yazabilir ve web sunucusunda rastgele kod çalıştırabilirdi. Kayıtlı herhangi bir kullanıcı bir rockspec yükleyerek bunu tetikleyebilirdi; düzeltme, rockspec'leri yalnızca metin olarak yükler ve bytecode'u reddeder.
Ne oldu
Ekip, bu amaçla oluşturulmuş üç hesap buldu. 9 Temmuz'da kötü niyetli yüklemelerle sunucuda shell komutları çalıştırıldı. 7 Ağustos'ta bunlar yeniden çalıştırıldı ve üç kötü niyetli paket yayımlandı. 16 ve 20 Ağustos'ta yükleme API'si üzerinden birkaç yüz otomatik deneme yapıldı. Web sunucusunun hesabı tam yönetici erişimine sahipti, bu yüzden ekip saldırganın tüm veritabanı dahil her şeyi okuyabildiğini varsayıyor.
Açığa çıkan veriler arasında kullanıcı adları, e-posta adresleri ve bcrypt parola hash'leri, API anahtarları, 2FA sırları, IP adresleri ile tarayıcı bilgilerini içeren oturum kayıtları ve yalnızca profil ile e-posta erişimi veren GitHub bağlantı token'ları var. Proje, tüm paketlerin günlük bir git aynasını tutuyor: 8 Temmuz kopyası ve veritabanıyla yapılan karşılaştırma, her farkın normal bir yükleme, kopyalama veya silmeyle açıklandığını ve bytecode'un yalnızca saldırganın rockspec'lerinde bulunduğunu gösterdi. Proje açığı kapattı, saldırganın paketlerini siteden ve tüm aynalardan kaldırdı ve tüm kimlik bilgilerini iptal etti. Geriye bir sınır kalıyor: saldırganın sildiği paket, sahibinin sildiğinden ayırt edilemiyor.
SiTech — AI destekli web geliştirme
Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.