GNU InetUtils багцаас telnetd серверт эмзэг байдал илэрсэн. Энэхүү эмзэг байдал нь нууц үгийн баталгаажуулалтгүйгээр root зэрэг дурын хэрэглэгчийн хувьд холбогдох боломжийг олгодог. CVE танигчийг хараахан оноож өгөөгүй байна. Эмзэг байдал нь InetUtils хувилбар 1.9.3 (2015)-аас хойш байгаа бөгөөд одоогийн хувилбар 2.7.0-д нөхөөсгүй хэвээр байна. Засвар нь (1, 2) нөхөөсүүдэд байдаг.
Асуудал нь нууц үгийг шалгахын тулд telnetd процесс нь "/usr/bin/login" хэрэгслийг дуудаж, холбогдох үед үйлчлүүлэгчийн заасан хэрэглэгчийн нэрийг аргумент болгон дамжуулдагтай холбоотой юм. сервер"Нэвтрэх" хэрэгсэл нь баталгаажуулалтгүйгээр нэвтрэх боломжийг олгодог "-f" сонголтыг дэмждэг (энэ сонголтыг хэрэглэгч аль хэдийн баталгаажуулагдсан үед ашиглах зориулалттай). Тиймээс хэрэглэгчийн нэрэнд "-f" сонголтыг орлуулснаар та нууц үг баталгаажуулалтгүйгээр холбогдож болно.
Ердийн холболттой үед та "-f root" гэх мэт хэрэглэгчийн нэрийг ашиглаж чадахгүй, гэхдээ Telnet нь "-a" сонголтоор идэвхжүүлсэн автомат холболтын горимтой байдаг. Энэ горимд хэрэглэгчийн нэрийг команд мөрөөс авдаггүй, харин USER орчны хувьсагчийн тусламжтайгаар дамжуулдаг. Нэвтрэх хэрэгслийг дуудах үед энэ орчны хувьсагчийн утгыг нэмэлт шалгалтгүйгээр болон тусгай тэмдэгтүүдээс зугтахгүйгээр сольсон. Тиймээс, root хэрэглэгчээр холбогдохын тулд USER орчны хувьсагчийг "-f root" болгож тохируулаад "-a" сонголтыг ашиглан Telnet серверт холбогдоно уу: $ USER='-f root' telnet -a server_name
Эмзэг байдлыг бий болгосон өөрчлөлтийг 2015 оны 3-р сард telnetd кодонд нэмж, Kerberos баталгаажуулалтгүйгээр автоматаар нэвтрэх горимд хэрэглэгчийн нэрийг тодорхойлоход саад болж байсан асуудлыг шийдвэрлэсэн. Шийдэл болгон автоматаар нэвтрэх горимд зориулсан хэрэглэгчийн нэрийг орчны хувьсагчаар дамжуулах дэмжлэгийг нэмсэн боловч орчны хувьсагчийн хэрэглэгчийн нэрийг баталгаажуулах шалгалтыг мартсан.
Эх сурвалж: opennet.ru
