GNU InetUtilsi komplekti telnetd serveris on avastatud haavatavus. See haavatavus lubab ühenduse luua mis tahes kasutajana, sealhulgas root kasutajana, ilma parooli kinnitamata. CVE-identifikaatorit pole veel määratud. Haavatavus on olemas olnud alates InetUtilsi versioonist 1.9.3 (2015) ja on praeguses versioonis 2.7.0 parandamata. Parandus on saadaval parandustena (1, 2).
Probleemi põhjustab asjaolu, et parooli kontrollimiseks kutsub telnetd protsess utiliiti "/usr/bin/login", edastades argumendina kliendi poolt ühenduse loomisel määratud kasutajanime. serverUtiliit "login" toetab valikut "-f", mis võimaldab sisse logida ilma autentimiseta (see valik on mõeldud kasutamiseks siis, kui kasutaja on juba autentitud). Seega, asendades kasutajanime valikuga "-f", saate ühenduse luua ilma paroolita.
Tavalise ühenduse korral ei saa kasutada kasutajanime nagu "-f root", kuid Telnetil on automaatne ühendusrežiim, mille aktiveerib valik "-a". Selles režiimis ei võeta kasutajanime käsurealt, vaid see edastatakse keskkonnamuutuja USER kaudu. Sisselogimisutiliidi kutsumisel asendati selle keskkonnamuutuja väärtus ilma täiendava kontrolli ja erimärkideta. Seega, et luua ühendus juurkasutajana, tuleb lihtsalt määrata keskkonnamuutuja USER väärtuseks "-f root" ja luua ühendus Telneti serveriga valiku "-a" abil: $ USER='-f root' telnet -a server_name
Haavatavuse tekitanud muudatus lisati telnetd koodi 2015. aasta märtsis ja see lahendas probleemi, mis takistas kasutajanime määramist automaatse sisselogimise režiimis ilma Kerberose autentimiseta. Lahendusena lisati tugi kasutajanime edastamiseks automaatse sisselogimise režiimis keskkonnamuutuja kaudu, kuid unustati keskkonnamuutujast pärineva kasutajanime valideerimiskontroll.
Allikas: opennet.ru
