OpenPLC v3'de Arbitrary File Write Zafiyeti

OpenPLC v3, CVE-2026-14480 kodlu bir zafiyet içermektedir. Bu zafiyet, yetkili saldırganların dosya sistemine dosyalar yazmasına ve bu dosyaları derleme yoluyla yerel kod çalıştırmasına izin vermektedir. OpenPLC v3'ün eski web arayüzü program yükleme işleminde, saldırgan tarafından sağlanan dosya adı doğrudan veritabanına kaydedilmekte ve daha sonra bu değer, yüklenecek dosyanın hedef yolu olarak kullanılmaktadır. Python os.path.join() fonksiyonu, saldırgan tarafından kontrol edilen mutlak yolları desteklemektedir. Bu nedenle, yetkili bir kullanıcı, OpenPLC web sunucu işleminin yazma izni olan herhangi bir yere dosyalar yazabilir. Varsayılan derleme işlem hattında, OpenPLC çalışma zamanı çekirdek dizinindeki tüm C++ kaynak dosyaları, otomatik olarak çalıştırılabilir çalışma zamanı ikili dosyasına derlenmektedir. Bu dizine kötü amaçlı bir.cpp dosyası yazarak, yetkili bir saldırgan, dosya yazma zafiyetini, normal program derleme ve çalışma zamanı başlatma işlemlerinde yerel kod çalıştırmasına yükseltebilir. OpenPLC v3'ün son sürümü olmadığı ve artık yamalar, hata düzeltmeleri veya güvenlik güncellemeleri almadığı için, OpenPLC, kullanıcıların OpenPLC v4'e yükseltmesini önermektedir.
Bu zafiyet, kritik altyapı sektörlerinde kullanılan OpenPLC v3 kullanıcılarını etkilemektedir. Etkilenen sektörler arasında kritik imalat, enerji, ulaşım sistemleri ve su ve atık su bulunmaktadır.

