
OpenSSH-ისა და musl libc-ის კომბინირებული ხარვეზი Alpine-სა და სხვა Linux დისტრიბუტივებში პაროლის გვერდის ავლას იწვევს
OpenSSH-სა და musl libc-ში კომბინირებული ხარვეზი SSH-ის პაროლის მოთხოვნისას 256-ზე მეტი სიმბოლოს აკრეფით Alpine Linux-ში, OpenWRT-სა და სხვა დისტრიბუტივებში შეღწევის საშუალებას აძლევს. სასწრაფო გამოსწორებები და დაცვის ზომები მოითხოვება.
სასწრაფო გამოსწორებები და დაცვის ზომები მოითხოვება მას შემდეგ, რაც გაირკვა, რომ OpenSSH-ისა და musl libc-ის კომბინირებული ხარვეზი საშუალებას აძლევს თავდამსხმელებს Alpine Linux-ში, OpenWRT-სა და სხვა Linux დისტრიბუტივებში ვალიდური პაროლის გარეშე შევიდნენ. SSH-ის პაროლის მოთხოვნისას 256-ზე მეტი სიმბოლოს აკრეფით თავდამსხმელი შევა სისტემაში, თუ სისტემურ მომხმარებელს ცარიელი პაროლი აქვს, რაც რამდენიმე დისტრიბუტივში ნაგულისხმევია.
სად ვრცელდება ხარვეზი
ხარვეზი არსებობს, თუმცა შეიძლება არც იყოს ჩართული, Buildroot-ში, Yocto-სა და Void Linux-ში. OpenWRT ნაგულისხმევად ავთენტიფიკაციისთვის Dropbear-ს იყენებს, თუმცა OpenSSH-ის დაყენებაც შეიძლება. ყველაზე დიდი საზრუნავი Alpine-ია: ის გავრცელებული არჩევანია მილიონობით ინსტალაციისთვის Docker-ის, Kubernetes-ისა და Proxmox-ის კონტეინერებში, სერვერებზე, ღრუბლოვან VM-ებსა და ჩაშენებულ მოწყობილობებზე. Alpine-ს საჭირო პირობები ნაგულისხმევად აქვს და პაროლით ავთენტიფიკაციაც ჩართულია, ამიტომ დაუყოვნებლივი პაჩირება სჭირდება.
როგორ მუშაობს ხარვეზი
ხარვეზის კომბინაცია მოიცავს OpenSSH-ს, musl-ს, პაროლით ავთენტიფიკაციას, რომელიც ცალსახად არ არის გამორთული, PAM-ის არგამოყენებას და ერთ თვითნებურ მომხმარებელს, რომლის პაროლიც SHA-512/256 ჰეშითაა დაყენებული. პრობლემა იმაშია, რომ musl-ის crypt() ფუნქცია შეცდომის დროს აბრუნებს „*“-ს, ჩვეულებრივი null მნიშვნელობის ნაცვლად, შემდეგ კი OpenSSH ამ შედეგს პაროლის ჰეშთან ადარებს, თუმცა ამას არ უნდა აკეთებდეს. ზედმეტად გრძელი შეყვანა იწვევს შეცდომების ჯაჭვს. /etc/passwd ან /etc/shadow ფაილში ერთი ვარსკვლავი პაროლის ჰეშის ადგილს იკავებს იმ ანგარიშებისთვის, რომლებსაც პაროლი არ აქვთ, რაც ნიშნავს, რომ არც ერთი პაროლი არ უნდა იმუშაოს.
შერბილება და გამოსწორებები
ადმინისტრატორებმა სისტემები დაუყოვნებლივ უნდა გაასწორონ, როგორც პროექტის გაფრთხილებაშია მითითებული. ყველაზე მარტივი შერბილებაა OpenSSH-ის კონფიგურაციაში „PasswordAuthentication“-ის „no“-ზე დაყენება და სერვისის გადატვირთვა. Alpine-ისა და მსგავსი ინსტალაციების უმეტესობა ინტერნეტიდან მიუწვდომელია, მაგრამ ხარვეზით შეიძლება ისარგებლოს ქსელის შიგნით მყოფმა თავდამსხმელმა, მათ შორის კორპორატიულ გარემოში, სახლის ლაბორატორიებში, ღრუბლოვან ქსელებსა და VPN-ებში. საკმარისია ერთი ვალიდური მომხმარებლის ანგარიში, რომლის მოპოვებაც დიდ კორპორატიულ გარემოში შეიძლება არც ისე რთული იყოს. ხარვეზის სკანირება და ტესტირება ტრივიალურია. OpenSSH-მა გამოაქვეყნა გამოსწორება და გაფრთხილება, ისევე როგორც musl-ის ავტორმა Rich Felker-მა. ორივე მხარე, როგორც ჩანს, თვლის, რომ პრობლემა მეორეშია, თუმცა ბრალი საერთოა.
ადრინდელი მასალა: Portable OpenSSH 10.6p2 გამოვიდა უსაფრთხოების შემოვლითი გადაწყვეტითა და ხარვეზების გამოსწორებით
წყაროები: Tom's Hardware · Alpine Linux · Ars Technica · The Hacker News
SiTech — AI-გაძლიერებული ვებ დეველოპმენტი
ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.