GNU InetUtils'i telnetd serveris avastati haavatavus, mis võimaldab siseneda igasuguste kasutajate, sealhulgas root-kasutaja, alt ilma parooli kontrollimata. CVE-identifikaator ei ole veel määratud. Haavatavus on esinenud alates versioonist InetUtils 1.9.3 (2015. aasta) ja jääb lahendamata ka praeguses versioonis 2.7.0. Parandus on saadaval plaastrite kujul (1, 2).
Probleem tuleneb sellest, et telnetd protsess kutsub parooli kontrollimiseks utiliiti "/usr/bin/login", edastades argumendina kasutajanime, mille klient on ühendudes esitanud. serverile. Utiliit "login" toetab valikut "-f", mis võimaldab siseneda autentimiseta (eeldatakse, et seda valikut kasutatakse, kui kasutaja on juba kontrollitud). Seega, kui õnnestub kasutajanime alla panna valik "-f", on võimalik siseneda ilma parooli kontrollimata.
Tavalisel ühendamisel ei saa kasutada kasutajanime kujul „-f root”, kuid telnet'is on olemas automaatse ühenduse režiim, mille aktiveerib valik „-a”. Selles režiimis saadakse kasutajanimi mitte käsurealt, vaid keskkonnamuutujast USER. Utility login kutsumiseks asendati selle keskkonnamuutuja väärtus ilma täiendava kontrollita ja erimärkide escape'ita. Seega, et sisse logida kasutajana root, piisab, kui seada keskkonnamuutuja USER väärtuseks „-f root” ja ühenduda telnet-serveriga, kasutades valikut „-a”: $ USER=’-f root’ telnet -a serveri_nimi
Ohutuse nõrkuse tekitanud muudatus lisati telnetd koodi märtsis 2015 ja see oli seotud probleemiga, mis ei lubanud tuvastada kasutajanime autologin režiimis ilma Kerberose autentimiseta. Lahenduseks lisati toetus kasutajanime edastamiseks autologin režiimi kaudu keskkonnamuutujate kaudu, kuid unustati lisada kasutajanime korrektsuse kontroll.
Allikas: opennet.ru
