Seria e re e dobiveveve në telnetd që lejon marrjen e privilegjeve root në sistem

Pas identifikimit të dobësisë në fund të janarit, e cila lejonte aksesin si përdorues root pa kontrollimin e fjalëkalimit, në serverin telnetd të paketës GNU InetUtils janë zbuluar disa mënyra që lejojnë rritjen e privilegjeve, si pasojë e eliminimit të papërfunduar të dobësisë së vitit 1999 (CVE-1999-0073).

Dobësitë shkaktohen nga mundësia e transmetimit të variablave të mjedisit nga klienti në server përmes opsionit ENVIRON në telnetd. Këto variabla të mjedisit vendosen dhe përpunohen në kontekstin e procesit telnetd dhe transmetohen në proceset fëmijë të nisura prej tij, përfshirë procesin /bin/login që ekzekutohet me privilegje root. Dobësia CVE-1999-0073 lejonte klientin telnet të dërgonte variablën e mjedisit LD_LIBRARY_PATH, e cila shkakton ngarkimin e një biblioteke të ndarë të specifikuar nga përdoruesi gjatë nisjes së procesit login. Nëse ka mundësi për të ngarkuar skedarë në një sistem që mbështet lidhjen përmes protokollit telnet, napadi mund të ngarkojë një bibliotekë të formatuar posaçërisht dhe të organizojë ngarkimin e saj me privilegje root.

Në telnetd nga seti GNU InetUtils, një vulnerabilitet është eliminuar duke ndaluar variablat e rrezikshëm të mjedisit përmes filtrimit sipas maskave "LD_", "LIBPATH", "ENV", "IFS" dhe "_RLD_". Nga ana tjetër, variabli i mjedisit "CREDENTIALS_DIRECTORY" mbeti i pakontrolluar, i përpunuar gjatë ngarkimit të \/usr\/bin\/login. Me këtë variabël të mjedisit, përdoruesi mund të ndryshonte katalogun e konfigurimeve të akredimeve dhe të vendoste në katalogun e ri një skedar login.noauth me vlerën "yes", që aktivizon hyrjen pa fjalëkalim (analog i kalimit të flag "-f" në procesin login). Konfigurimi zbatohet për të gjithë përdoruesit, përfshirë root-in.

Sulmi konsiston në krijimin e një podkatalogu nga një përdorues pa privilegje në katalogun e tij të shtëpisë, ngarkimin e skedarit login.noauth në të dhe përpjekjen për të hyrë duke vendosur variablën e mjedisit "CREDENTIALS_DIRECTORY=podkatalogu i krijuar" dhe duke kaluar variablën e mjedisit "USER=root" (në telnet ka një mod të lidhjes automatike, ku emri i përdoruesit merret jo nga komandat në vijë, por kalon përmes variablës së mjedisit USER). Një shembull eksploitimi.

Një metodë tjetër për të fituar qasje root përmes telnetd është identifikuar, e lidhur me manipulative të variablave të mjedisit OUTPUT_CHARSET dhe LANGUAGE, të cilat trajtohen nga biblioteka GNU gettext, si dhe me variablën e mjedisit GCONV_PATH e përdorur në glibc. Duke vendosur variablat e mjedisit OUTPUT_CHARSET dhe LANGUAGE, sulmuesi mund të aktivizojë në gettext funksionalitetin e konvertimit të kodimeve të karaktereve, duke thirrur funksionin iconv_open(). Në anën tjetër, gjatë ekzekutimit të funksionit iconv_open() gjatë ngarkimit të skedarit të konfigurimit gconv-modules, rruga llogaritet në përputhje me variablën e mjedisit GCONV_PATH. Duke zëvendësuar skedarin gconv-modules, mund të organizohet ngarkimi i një biblioteke të ndarë gjatë shfaqjes së vargjeve të lokalizuara nga procesi login.

Numrat CVE për vulnerabilitetet e shënuara ende nuk janë ndarë. Si një metodë mbrojtjeje, është duke u shqyrtuar përdorimi i një liste të bardhë të vlerave të pranueshme ("TERM", "DISPLAY", "USER", "LOGNAME" dhe "POSIXLY_CORRECT") me bllokimin e të gjithë variablave të tjerë të mjedisit, ashtu siç funksionojnë variablat e mjedisit në OpenSSH. Vulnerabilitetet janë konfirmuar në paketën GNU InetUtils. server telnetd që ofrohet në Debian, Ubuntu dhe distribucione të tjera të derivuara. Ndërsa korrigjimet për GNU InetUtils ende nuk janë në dispozicion. Në Rocky Linux 9, telnetd modifikuar, që nuk është i prekshëm nga vulnerabilitetet, ofrohet me një kontrolle sipas listës së bardhë në vend të filtrimit të variablave të rrezikshëm të mjedisit. Filtrimi sipas listës së bardhë është gjithashtu implementuar në telnetd të FreeBSD. Në OpenBSD, telnetd u përjashtua nga sistemi në vitin 2005.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster