GhostLock (CVE-2026-43499): 15 წლის Linux ბირთვის Stack-UAF დაუცველობა, რომელიც ყველა დისტრიბუციას ემუქრება
GhostLock — კრიტიკული stack-use-after-free დაუცველობა Linux-ის ბირთვში, 15 წელი ყველა დისტრიბუციაში. Google-მა აღმომჩენებს $92,337 გადაუხადა.
რა არის GhostLock?
2026 წლის ივლისში, კიბერუსაფრთხოების კომპანია Nebula Security-ის მკვლევარებმა (VEGA ჯგუფი) გამოაქვეყნეს ინფორმაცია კრიტიკული დაუცველობის შესახებ, რომელსაც GhostLock (CVE-2026-43499) ეწოდა. ეს არის stack-use-after-free (stack-UAF) ტიპის დაუცველობა Linux-ის ბირთვში, რომელიც არსებობდა ყველა ძირითად Linux დისტრიბუციაში ბოლო 15 წლის განმავლობაში — Linux 2.6.39-დან (2011 წელი) Linux 7.1-მდე.
დაუცველობა საშუალებას აძლევს ადგილობრივ არაპრივილეგირებულ თავდამსხმელს, პრივილეგიების ესკალაციის (LPE/Local Privilege Escalation) გზით, მიიღოს root წვდომა სისტემაზე, ან განახორციელოს container escape. Google-მა VEGA-ს მკვლევარებს $92,337 გადაუხადა kernelCTF პროგრამის ფარგლებში მას შემდეგ, რაც მათ 97%-იანი სტაბილურობის ექსპლოიტი წარმოადგინეს, რომელიც მუშაობს დაახლოებით 5 წამში.
სახელი "GhostLock" სიმბოლურად გამოხატავს იმ ფაქტს, რომ დაუცველობა "მოჩვენებასავით" იმალებოდა ბირთვში თითქმის ორი ათწლეულის განმავლობაში, ხოლო "Lock" მიუთითებს rtmutex ჩაკეტვის მექანიზმზე, რომელშიც ბაგი აღმოჩნდა.
დაუცველობის ტექნიკური მიმოხილვა
GhostLock არსებობს Linux-ის ბირთვში 2.6.39 ვერსიიდან (2011) 7.1 ვერსიამდე. დაუცველობა შეტანილი იქნა rtmutex-ის რეფაქტორინგის დროს, კომიტში 8161239a8bcc ("rtmutex: Simplify PI algorithm and make highest prio task get lock") და უმჩნეველი დარჩა 15 წლის განმავლობაში, 2026 წლის აპრილამდე, როდესაც ის გამოსწორდა კომიტში 3bfdc63936dd.
მიზეზი არის ბაგი remove_waiter() ფუნქციაში (kernel/locking/rtmutex.c). ფუნქცია ასუფთავებს current->pi_blocked_on ველს, რაც სწორია ნორმალური slow path-ისთვის (სადაც current არის ტასკი, რომელიც ფლობს waiter-ს), მაგრამ არასწორია proxy path-ისთვის, როდესაც rt_mutex_start_proxy_lock() უკან აბრუნებს მდგომარეობას (unwinds) სხვა ტასკის სახელით.
შეტევის ვექტორი
იმისთვის, რომ მივაღწიოთ -EDEADLK მდგომარეობას, საჭიროა PI-დამოკიდებულების ციკლის შექმნა სამი futex-სიტყვითა და სამი ძაფით. ამის მისაღწევად, თავდამსხმელი ქმნის ძაფებს, რომლებიც ერთმანეთზე წრიულად არიან დამოკიდებული PI-მიუტექსების მეშვეობით. Linux-ის ბირთვი ვერ ამუშავებს ასეთ ციკლებს, რაც იწვევს -EDEADLK-ს.
წარმატებული ექსპლოიტაციის შემდეგ, თავდამსხმელი იღებს:
- მაჩვენებელს გათავისუფლებულ ბირთვის სტეკის მეხსიერებაზე (freed kernel stack memory)
- მაჩვენებლის ჩაწერის შესაძლებლობას თითქმის ნებისმიერ მისამართზე
ექსპლოიტის სტაბილურობა შთამბეჭდავია — 97% მრავალ ბირთვის ვერსიასა და კონფიგურაციაზე.
ვის ემუქრება?
GhostLock ემუქრება ყველა ძირითად Linux დისტრიბუციას. თუ იყენებთ ნებისმიერ Linux სისტემას, თქვენც ხართ მოწყვლადი. მათ შორისაა Ubuntu, Debian, RHEL, CentOS, Fedora, Arch Linux, SUSE, და ყველა მათზე დაფუძნებული დისტრიბუცია.
დაცვა და გამოსწორება
გამოსწორება (patch) შეტანილია Linux-ის ბირთვის 3bfdc63936dd კომიტში. სისტემის ადმინისტრატორებმა დაუყოვნებლივ უნდა განაახლონ ბირთვი.
GhostLock-ის გაკვეთილები
GhostLock გვახსენებს, რომ მომწიფებულ, მრავალწლიან კოდშიც კი (როგორიცაა Linux-ის ბირთვი) შეიძლება იმალებოდეს კრიტიკული დაუცველობები. ბაგი არსებობდა 15 წელი და შემთხვევით აღმოაჩინეს არადაკავშირებული კვლევის დროს.
რას ნიშნავს ეს საქართველოსთვის?
საქართველოში ბევრი ბიზნესი და ორგანიზაცია იყენებს Linux სერვერებს — ჰოსტინგის პროვაიდერებიდან ბანკებამდე. GhostLock-ის აღმოჩენა განსაკუთრებით მნიშვნელოვანია ქართული IT ინფრასტრუქტურისთვის. ჩვენ გირჩევთ, დაუყოვნებლივ შეამოწმოთ და განაახლოთ ყველა Linux სისტემა.
დასკვნა
GhostLock (CVE-2026-43499) გვიჩვენებს, რომ კიბერუსაფრთხოება მუდმივი პროცესია. 15 წელი — აი, რამდენ ხანს შეიძლება იმალებოდეს კრიტიკული დაუცველობა. SiTech გირჩევთ, რომ Linux-ის ყველა მომხმარებელმა სასწრაფოდ განაახლოს ბირთვი.