Der telnetd-server i GNU InetUtils har en sårbarhed, der tillader tilslutning som enhver bruger, inklusive root-brugeren, uden at der bliver tjekket for kodeord. CVE-identifikatoren er endnu ikke tildelt. Sårbarheden optræder fra version InetUtils 1.9.3 (2015) og forbliver uforløst i den aktuelle version 2.7.0. En rettelse er tilgængelig i form af patches (1, 2).
Problemet skyldes, at telnetd-processen til at tjekke kodeordet kalder værktøjet '/usr/bin/login', og videregiver brugernavnet, som klienten angav ved tilslutning til server. Værktøjet 'login' understøtter muligheden '-f', der tillader log ind uden at udføre autentificering (det antages, at denne indstilling bruges, når brugeren allerede er verificeret). Dermed, hvis det lykkes at indsætte '-f'-muligheden i brugernavnet, kan man oprette forbindelse uden at skulle indtaste kodeord.
Ved en normal tilslutning vil det ikke være muligt at bruge et brugernavn som '-f root', men telnet har en automatisk tilslutningsmodus, der aktiveres med '-a'-muligheden. I denne tilstand tages brugernavnet ikke fra kommandolinjen, men videregives gennem miljøvariablen USER. Ved kald til værktøjet login blev værdien af denne miljøvariabel indsat uden yderligere kontrol og uden at specialtegn blev escaperet. Dermed er det nok at sætte værdien '-f root' til miljøvariablen USER for at oprette forbindelse som root-brugeren ved at angive '-a'-muligheden: $ USER='-f root' telnet -a server_navn
Ændringen, der forårsagede sårbarheden, blev tilføjet i koden til telnetd i marts 2015 og var relateret til løsning af et problem, der ikke tillod identifikation af brugernavnet i autologin-tilstand uden autentificering i Kerberos. For at løse dette blev der tilføjet understøttelse til at videregive brugernavnet til autologin-tilstand via miljøvariablen, men man glemte at tilføje en kontrol af korrektheden af brugernavnet fra miljøvariablen.
Kilde: opennet.ru
