Alpine Linux-ის კრიტიკული ხარვეზი: როგორ შეიძლება სერვერის გატეხვა

უსაფრთხოების კრიტიკული შეცდომა
Linux-ის სამყაროში ერთ-ერთი ყველაზე პოპულარული და მსუბუქი დისტრიბუცია, Alpine Linux, უსაფრთხოების სერიოზულ პრობლემას შეეჯახა. აღმოჩენილი ხარვეზი (CVE-2026-123158) თავდამსხმელს საშუალებას აძლევს, სერვერის SSH (Secure Shell) პორტის გავლით სისტემაში ყოველგვარი დამატებითი დაბრკოლების გარეშე შეაღწიოს. ექსპერტების შეფასებით, ეს არის ერთ-ერთი ყველაზე საშიში სცენარი, რადგან შეტევა არ საჭიროებს განმეორებით მცდელობებს და წარმატებით სრულდება პირველივე ცდაზე.
პრობლემა უკავშირდება musl-ს — სტანდარტული C ბიბლიოთეკის (libc) მსუბუქ ვერსიას, რომელსაც Alpine Linux იყენებს. როგორც უსაფრთხოების ინჟინრები აღნიშნავენ, ხარვეზი ერთი სიმბოლოთი, კერძოდ, ვარსკვლავით (*) აიხსნება. როდესაც OpenSSH კონფიგურაცია არ იყენებს PAM-ს (Pluggable Authentication Modules) და ჩართულია პაროლით ავთენტიფიკაცია, სისტემა პაროლის ვალიდაციისას შეცდომას უშვებს. 256 ბაიტზე მეტი სიგრძის პაროლის შეყვანისას, musl-ის ფუნქცია crypt() აბრუნებს ვარსკვლავს, რაც სისტემამ შესაძლოა „პაროლის გარეშე“ არსებული ანგარიშის ვალიდურ შესვლად აღიქვას.
რომელი სისტემებია დაუცველი?
მიუხედავად იმისა, რომ Alpine Linux-მა უკვე გაავრცელა განახლებები, საფრთხე ეხება ყველას, ვინც იყენებს musl-ს. დაუცველთა სიაშია Adélie Linux, Void Linux, Sabotage Linux, OpenWrt, ასევე Android-ის ზოგიერთი ვარიანტი და Yocto Project-ით აწყობილი ჩაშენებული (embedded) სისტემები. პოპულარული დისტრიბუციები, რომლებიც glibc-ს იყენებენ, როგორიცაა Ubuntu, Debian ან Fedora, ამ ხარვეზით არ ზიანდებიან, რადგან ისინი შეცდომის შემთხვევაში NULL მნიშვნელობას აბრუნებენ, რასაც SSH სერვერი ავტომატურად უარყოფს.

განსაკუთრებით დაუცველად ითვლება Alpine Linux-ის ოფიციალური tiny-cloud იმიჯები (ვერსიები 3.18.11-დან 3.24.3-მდე). ეს იმიჯები ნაგულისხმევად შეიცავს მომხმარებელს, რომელსაც პაროლი არ აქვს, რაც თავდამსხმელისთვის სისტემაში შესვლის იდეალურ გზას ქმნის, თუკი სერვერზე თუნდაც ერთი სხვა ანგარიში მაინც არსებობს დაშიფრული პაროლით.
რა უნდა გააკეთონ ადმინისტრატორებმა?
Alpine Linux-ის გუნდმა უკვე გამოუშვა განახლებული პაკეტები, რომლებიც პრობლემას აგვარებს. სისტემის ადმინისტრატორებს ურჩევენ, დაუყოვნებლივ განახორციელონ სისტემის განახლება ბრძანებით apk upgrade -U -a და შემდეგ გადატვირთონ SSH სერვისი (rc-service sshd restart). მნიშვნელოვანია გვახსოვდეს, რომ მხოლოდ პაკეტის განახლება საკმარისი არ არის — აუცილებელია დემონის (daemon) გადატვირთვაც.
თუ განახლება დროულად ვერ ხერხდება, დროებითი გამოსავალია PasswordAuthentication no-ს დაყენება SSH კონფიგურაციაში, რაც პაროლით შესვლას სრულად გათიშავს და სისტემას მხოლოდ გასაღებებით (key-based) ავთენტიფიკაციაზე გადაიყვანს. ასევე, რეკომენდებულია სისტემის ჟურნალების (/var/log/messages) შემოწმება საეჭვო შესვლის მცდელობების გამოსავლენად. თუ თქვენ ვერ დაადასტურებთ, რომ სისტემაში შეღწევა არ მომხდარა, უსაფრთხოების მიზნით, მანქანა კომპრომეტირებულად უნდა ჩაითვალოს.