Luarocks deposunda uzaktan kod yürütme açığı tespit edildi
Öne çıkanlar
- Açık, saldırganların standart bir kullanıcı hesabıyla luarocks.org sunucusunda root yetkisi almasına imkan tanıdı.
- loadstring işlevinin derlenmiş bayt kodlarını kabul etmesi kum havuzu izolasyonunun aşılmasına yol açtı.
- KNUM buyruğundaki sınır denetimi eksikliği kullanılarak bellek dışından kritik nesne referansları okundu.
Lua paket yöneticisi luarocks.org üzerinde standart bir kullanıcı hesabıyla sunucuda root yetkisi elde edilmesine yol açan kritik bir uzaktan kod yürütme güvenlik açığı ortaya çıkarıldı. Araştırmacının paylaştığı teknik analize göre sorun, platformun paket meta verilerini içeren rockspec dosyalarını ayrıştırma biçiminden kaynaklanıyor. Sistem, kullanıcı tarafından yüklenen betikleri kısıtlı bir ortamda çalıştırmak için loadstring işlevini kullandı.
Söz konusu işlev yalnızca düz Lua betiklerini değil, derlenmiş bayt kodlarını da bellek içine alıp çalıştırıyor. LuaJIT çalışma zamanı bayt kodlarını sınır denetimi yapmadan işlediği için saldırganlar KNUM buyruğunu manipüle ederek ayrılmış bellek alanının dışına taştı. Bu yöntemle bellek adreslerindeki nesne referansları taranarak kısıtlanmamış genel işlevleri barındıran paket tablolarına ulaşıldı.
Elde edilen C işlevleri üzerinden debug.getfenv yardımıyla genel ortama erişilerek kum havuzu koruması tamamen aşıldı. Araştırmacı, söz konusu açığın kötü niyetli aktörlerce fark edilmesi durumunda, milyonlarca kez indirilen popüler Lua paketlerine zararlı yazılım enjekte edilerek geniş çaplı bir tedarik zinciri saldırısı düzenlenebileceğini belirtti.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.