Dünya çapında endüstriyel ortamlarda kullanılan milyonlarca PLC (programlanabilir mantık denetleyicileri), CODESYS V3 yazılım geliştirme kitinde uzaktan kod yürütme (RCE) ve hizmet reddi (DoS) saldırılarına izin veren 15 güvenlik açığı riski altındadır.
500’den fazla cihaz üreticisi, IEC 61131-3 standardına göre 1.000’den fazla PLC modelinde programlama yapmak için CODESYS V3 SDK kullanarak kullanıcıların özel otomasyon dizileri geliştirmesine olanak tanır.
SDK ayrıca bir Windows yönetim arabirimi ve kullanıcıların PLC yapılandırmasını ve programlamayı üretimde dağıtmadan önce test etmelerine olanak tanıyan bir simülatör sağlar.
CODESYS V3 SDK’daki on beş açık, Eylül 2022’de CODESYS’e bildiren Microsoft araştırmacıları tarafından keşfedildi. Satıcı, belirlenen sorunları gidermek için Nisan 2023’te güvenlik güncellemeleri yayınladı.
Bu cihazların doğası gereği, güvenlik sorunlarını gidermek için sık sık güncellenmezler, bu nedenle Microsoft’un güvenlik ekibi, riskler konusunda farkındalığı artırmak ve yama uygulama hızının artmasına yardımcı olmak için dün ayrıntılı bir gönderi yayınladı.
CODESYS güvenlik açıkları
Microsoft, Schnieder Electric ve WAGO’dan CODESYS V3 kullanan iki PLC’yi inceledi ve 15 yüksek önem dereceli güvenlik açığı keşfetti (CVSS v3: 7.5 – 8.8).
Kusurlar şunlardır: CVE-2022-47378, CVE-2022-47379, CVE-2022-47380, CVE-2022-47381, CVE-2022-47382, CVE-2022-47383, CVE-2022-47384, CVE-2022- 47385, CVE-2022-47386, CVE-2022-47387, CVE 2022-47388, CVE-2022-47389, CVE-2022-47390, CVE-2022-47392, CVE-2022-47393.
Ana sorun, SDK’nın etiket çözme mekanizmasında, özellikle de etiketlerin boyutları doğrulanmadan cihaz arabelleğine kopyalanması ve saldırganlara arabellek taşması fırsatı vermesidir.
Bu etiketler, PLC’nin işlevi için önemli talimatlar sağlayan veri veya veri yapılarının taşıyıcılarıdır.
Microsoft’un CMPTraceMgr, CMPapp, CMPDevice, CMPApp, CMPAppBP, CMPAppForce ve CMPFileTransfer dahil olmak üzere 15 CODESYS V3 SDK bileşeninde bulduğu gibi arabellek taşması sorunu izole değildir.
Kusurlardan yararlanmak için kimlik doğrulaması gerekmesine rağmen Microsoft, aşağıda gösterildiği gibi taşıma sırasında kullanıcı kimlik bilgilerini açık metin biçiminde ifşa eden CODESYS V3’ü etkileyen başka bir kusur olan CVE-2019-9013 kullanılarak bu gereksinimin atlanabileceğini söylüyor.
15 vakanın 12’sinde Microsoft’un analistleri, PLC’de uzaktan kod yürütme elde etmek için kusurdan yararlanabildi.
CODESYS’in güvenlik danışma belgesi, donanım ve işletim sistemi yapılandırmasından bağımsız olarak, 3.5.19.0’dan önceki sürümleri çalıştıran aşağıdaki ürünleri etkilenecek ürünler olarak listeler:
- CODESYS Kontrol RTE’si (SL)
- CODESYS Kontrol RTE (Beckhoff CX için) SL
- CODESYS Kontrol Kazanma (SL)
- CODESYS Kontrol Çalışma Zamanı Sistemi Araç Kiti
- CODESYS Safety SIL2 Çalışma Zamanı Araç Seti
- CODESYS Güvenlik SIL2 PSP
- CODESYS HMI (SL)
- CODESYS Geliştirme Sistemi V3
- CODESYS Geliştirme Sistemi V3 simülasyon çalışma zamanı
Yukarıdakilere ek olarak, aşağıdaki ürünler 4.8.0.0’dan önceki sürümlerde etkilenir:
- BeagleBone SL için CODESYS Kontrolü
- emPC-A/iMX6 SL için CODESYS Kontrolü
- IOT2000 SL için CODESYS Kontrolü
- Linux SL için CODESYS Kontrolü
- PFC100 SL için CODESYS Kontrolü
- PFC200 SL için CODESYS Kontrolü
- PLCnext SL için CODESYS Kontrolü
- Raspberry Pi SL için CODESYS Kontrolü
- WAGO Dokunmatik Paneller 600 SL için CODESYS Kontrolü
Yöneticilerin mümkün olan en kısa sürede CODESYS V3 v3.5.19.0’a yükseltmeleri tavsiye edilirken, Microsoft ayrıca PLC’lerin ve diğer kritik endüstriyel cihazların internetten çıkarılmasını önerir.