S'ha descobert una vulnerabilitat al servidor telnetd del conjunt GNU InetUtils. Aquesta vulnerabilitat permet la connexió com a qualsevol usuari, inclòs l'usuari root, sense verificació de contrasenya. Encara no s'ha assignat un identificador CVE. La vulnerabilitat està present des de la versió 1.9.3 (2015) d'InetUtils i no s'ha aplicat cap pedaç a la versió actual, la 2.7.0. Hi ha una correcció disponible als pedaços (1, 2).
El problema és causat pel fet que, per comprovar la contrasenya, el procés telnetd crida la utilitat "/usr/bin/login", passant com a argument el nom d'usuari especificat pel client en connectar-se a servidorLa utilitat "login" admet l'opció "-f", que permet iniciar sessió sense autenticació (aquesta opció està pensada per utilitzar-se quan l'usuari ja ha estat autenticat). Per tant, substituint l'opció "-f" al nom d'usuari, us podeu connectar sense verificar la contrasenya.
Amb una connexió normal, no podeu utilitzar un nom d'usuari com ara "-f root", però Telnet té un mode de connexió automàtic activat per l'opció "-a". En aquest mode, el nom d'usuari no es pren de la línia d'ordres, sinó que es passa a través de la variable d'entorn USER. Quan es cridava la utilitat d'inici de sessió, el valor d'aquesta variable d'entorn es substituïa sense comprovació addicional i sense caràcters d'escapament especials. Per tant, per connectar-vos com a usuari root, simplement definiu la variable d'entorn USER a "-f root" i connecteu-vos al servidor Telnet mitjançant l'opció "-a": $ USER='-f root' telnet -a nom_del_servidor
El canvi que va introduir la vulnerabilitat es va afegir al codi telnetd el març de 2015 i va solucionar un problema que impedia que es determinés el nom d'usuari en mode d'inici de sessió automàtic sense autenticació Kerberos. Com a solució, es va afegir la compatibilitat per passar el nom d'usuari per al mode d'inici de sessió automàtic a través d'una variable d'entorn, però es va oblidar una comprovació de validació del nom d'usuari des de la variable d'entorn.
Font: opennet.ru
