En telnetd-server frÄn GNU InetUtils har en sÄrbarhet identifierats som gör det möjligt att ansluta som vilken anvÀndare som helst, inklusive root-anvÀndaren, utan lösenordsverifiering. En CVE-identifierare har Ànnu inte tilldelats. SÄrbarheten föreligger frÄn och med version InetUtils 1.9.3 (2015) och kvarstÄr ofixad i den aktuella versionen 2.7.0. En patch finns tillgÀnglig (1, 2).
Problemet uppstĂ„r pĂ„ grund av att telnetd-processen anropar programmet â/usr/bin/loginâ för att verifiera lösenordet och vidarebefordrar anvĂ€ndarnamnet som angivits av klienten vid anslutningen till servern. Programmet âloginâ stöder alternativet â-fâ, som gör det möjligt att logga in utan autentisering (detta alternativ antas anvĂ€ndas nĂ€r anvĂ€ndaren redan har genomgĂ„tt verifiering). SĂ„ledes, om man lyckas injicera alternativet â-fâ i anvĂ€ndarnamnet kan man ansluta utan att verifiera lösenordet.
Vid en vanlig anslutning gĂ„r det inte att anvĂ€nda ett anvĂ€ndarnamn som â-f rootâ, men telnet har ett automatiskt anslutningslĂ€ge som aktiveras av alternativet â-aâ. I detta lĂ€ge hĂ€mtas anvĂ€ndarnamnet inte frĂ„n kommandoraden utan överförs via miljövariabeln USER. Vid anrop av programmet login anvĂ€ndes vĂ€rdet frĂ„n denna variabel utan ytterligare verifiering och utan att specialtecken escaperades. DĂ€rför rĂ€cker det med att sĂ€tta miljövariabeln USER till â-f rootâ och ansluta till telnet-servern med alternativet â-aâ: $ USER=â-f rootâ telnet -a server_namn
Ăndringen som ledde till sĂ„rbarheten lades till i telnetd-koden i mars 2015 och var kopplad till att lösa ett problem som förhindrade identifiering av anvĂ€ndarnamn i autologin-lĂ€get utan autentisering i Kerberos. Som lösning lades stöd för att överföra anvĂ€ndarnamn för autologin-lĂ€get via en miljövariabel till, men man glömde att lĂ€gga till valideringen av anvĂ€ndarnamnet frĂ„n miljövariabeln.
KĂ€lla: opennet.ru
