Tam Sistem Kontrolü Sağlamak İçin GNU InetUtils Güvenlik Açığı “-f root” Aracılığıyla İstismara Uğradı


GNU InetUtils’in telnetd sunucusundaki kritik bir kimlik doğrulama atlama güvenlik açığı, uzak saldırganların, uygunsuz parametre temizliğinden yararlanarak kimlik bilgileri olmadan kök erişimi elde etmesine olanak tanıyor.

GNU InetUtils 1.9.3’ten 2.7’ye kadar olan sürümler, telnetd sunucusunda, kimliği doğrulanmamış uzak saldırganların tüm sistem güvenliğini aşmasına olanak tanıyan yüksek önem derecesine sahip bir kimlik doğrulama atlama güvenlik açığı içerir.

Kusur, telnetd’nin kök ayrıcalıklarıyla çalışan oturum açma programına temizlenmemiş bir şekilde ilettiği USER ortam değişkeninin yetersiz giriş doğrulamasından kaynaklanmaktadır.

Saldırgan, “-f root” içeren özel olarak biçimlendirilmiş bir USER ortam değişkeni oluşturup bunu telnet istemcisinin -a veya –login parametresi aracılığıyla göndererek bu güvenlik açığından yararlanabilir.

Telnetd bu kötü amaçlı girdiyi aldığında, dizeyi doğrudan oturum açma yardımcı programına aktarır; bu yardımcı program, “-f”yi, geçerli kimlik bilgileri gerektirmeden anında kök erişimi sağlayan kimlik doğrulamayı atlamak için bir işaret olarak yorumlar.

Teknik Mekanizma

Güvenlik açığı telnetd/utility.c içindeki değişken genişletme mantığında, özellikle de _var_short_name() işlev.

Telnetd/telnetd.c’de tanımlanan oturum açma komutu şablonu işlenirken kod, %U parametresini (USER ortam değişkenine karşılık gelen) temizlemeden körü körüne genişletir.

Şablon, kullanıcı girişini doğrudan -f bayrağıyla oturum açmak için ileten “PATH_LOGIN -p -h %h %?u{-f %u}{%U}” biçimini kullanır.

Oturum açma(1)’deki “-f” parametresi, kullanıcı kimliğini zaten doğrulamış olan sistemler tarafından kullanılması amaçlanan bir özellik olan kimlik doğrulamayı atlamak için tasarlanmıştır.

Saldırganlar, bu bayrağı temizlenmemiş USER değişkeni aracılığıyla enjekte ederek, kendilerini otomatik olarak root olarak tanımak için oturum açma sürecini değiştirebilir.

Kavram Kanıtı

Sömürü minimum düzeyde kurulum gerektirir. Bir saldırgan şunları gerçekleştirebilir:

textUSER='-f root' telnet -a localhost

Bu basit komut zinciri, Trisquel GNU/Linux 11’deki danışma belgesinin pratik örneğinde gösterildiği gibi, şifre girişi olmadan anında bir kök kabukla sonuçlanır.

Güvenlik açığı, 19 Mart 2015’te inetutils deposundaki commit fa3245ac aracılığıyla tanıtıldı ve 12 Mayıs 2015’teki v1.9.3 sürümüne dahil edildi. 2.7’ye kadar olan tüm sonraki sürümler, yama yapılmadığı sürece savunmasız kalacaktır.

Openwall’a göre GNU InetUtils geliştirme ekibi, modern sistemlerin bunun yerine SSH kullanması gerektiğinden telnetd’nin tamamen devre dışı bırakılmasını öneriyor.

Şu anda telnetd çalıştıran kuruluşlar, benzer saldırı vektörlerini önlemek için kapsamlı değişken temizleme uygulayan fd702c02 ve ccba9f748 taahhütlerinden gelen yamaları derhal uygulamalıdır.

Ağ yöneticileri telnet bağlantı noktası erişimini yalnızca güvenilir istemcilerle kısıtlamalı ve hizmetleri birincil uzaktan erişim mekanizması olarak SSH’ye geçirmelidir.

Geliştirme ekibi ayrıca “-f” parametresini açıkça reddeden özel oturum açma araçlarının uygulanmasını da öneriyor.

Anında Güncellemeler Almak ve GBH’yi Google’da Tercih Edilen Kaynak Olarak Ayarlamak için bizi Google Haberler, LinkedIn ve X’te takip edin.



Source link