
Cloudflare-მა ხარვეზი დახურა, რომლითაც კონტეინერი სხვა მომხმარებლის დისკის ნარჩენებს კითხულობდა
Cloudflare Containers-ის ხარვეზით გადამხდელ მომხმარებელს სხვა მომხმარებლების კონტეინერების მიერ დისკზე დატოვებული მონაცემების წაკითხვა შეეძლო. კომპანიამ ხარვეზი ორ ეტაპად გაასწორა და ამბობს, რომ კლიენტებს დამატებითი ნაბიჯი არ სჭირდებათ.
Cloudflare-მა Containers-ის ხარვეზი დახურა, რომლითაც გადამხდელ მომხმარებელს სხვა მომხმარებლების კონტეინერების მიერ საერთო სერვერებზე დატოვებული მონაცემების წაკითხვა შეეძლო. კომპანიამ ეს 19 სექტემბერს დასრულებული გაწმენდიდან ხუთ დღეში გაასაჯაროვა.
ხარვეზი 4 სექტემბერს შეატყობინა კომპანია Accomplish-ის მკვლევერმა ორენ იომტოვმა Cloudflare-ის bug bounty პროგრამის მეშვეობით. Containers მომხმარებლის კოდს ბევრი ანგარიშის მიერ გაზიარებულ სერვერებზე ამუშავებს. დაზარალდა Cloudflare Sandboxes-იც, რომელიც Containers-ზეა აწყობილი და AI აგენტების მიერ დაწერილი არასანდო კოდის გასაშვებად იყიდება.
როგორ მუშაობდა ხარვეზი
თითოეული კონტეინერი იღებს ჩასაწერ დისკს, რომელიც Linux-ის thin provisioning ტექნოლოგიითაა აწყობილი: სივრცე 64 კილობაიტის ბლოკებად გამოიყოფა. კონტეინერის წაშლისას ბლოკები საერთო აუზს უბრუნდება, სადაც მათ ახალ კონტეინერზე გადაცემამდე არ ანულებდნენ.
მკვლევრებმა კონტეინერის ფაილური სისტემის თავისუფალი სივრცის თითოეულ 64-კილობაიტიან რეგიონში 4 კილობაიტი ჩაწერეს, შემდეგ კი დისკი ნედლად წაიკითხეს: ის 60 კილობაიტი, რაც მათ არ ჩაუწერიათ, კვლავ წინა კონტეინერის ბაიტებს შეიცავდა.
წარმოების ტესტებში ნარჩენი მონაცემები 24 განლაგებიდან 18-ში და ოთხ კონტინენტზე განლაგებული 22 სერვერიდან 20-ზე აღმოჩნდა. Cloudflare-ის თქმით, ბლოკებში დირექტორიების სტრუქტურები, მონაცემთა ბაზის გვერდები და დასრულებული SQLite ბაზები იყო, მკვლევრების ჩამონათვალში კი Chromium-ის პროფილებიც და წვდომის გასაღებების ფაილებიც მოხვდა. სკრიპტები მხოლოდ რაოდენობებს ბეჭდავდა და არა ფაილების შიგთავსს.
გამოსწორება ორ ეტაპად
Cloudflare-მა ფლოტის მასშტაბით ეს პარამეტრი ჩამოშალა და ბლოკების განულება აღადგინა. 14 სექტემბერს მკვლევრებმა დაადასტურეს, რომ მათი კონცეფციის დემონსტრაცია აღარ მუშაობდა, იმავე დღეს კომპანიამ მათ ჯილდო გადაუხადა.
ახალი ბლოკების განულება ვერ ასუფთავებდა უკვე მიბმულ ბლოკებს მომუშავე კონტეინერების დისკებსა და სერვერებზე შენახულ მზა სნეპშოტებზე. ამიტომ Cloudflare-მა ისინი გააუქმა: დატვირთვა უმოქმედო საათებში გადაანაწილა და ქეშები გაასუფთავა. გაწმენდა 19 სექტემბერს დასრულდა.
რას ნიშნავს ეს
Cloudflare-მა ამოცნობის სიგნატურები კონცეფციის დემონსტრაციის მიხედვით ააწყო და შენახულ დისკის ჩანაწერებზე გამოსცადა. დამთხვევა მხოლოდ ავტორიზებულ ტესტირებაზე დაფიქსირდა, მეთოდის სხვის მიერ გამოყენების ნიშანი კი არ გამოჩენილა. რამდენ ხანს იყო სახიფათო პარამეტრი ჩართული, კომპანიას არ დაუკონკრეტებია.
თავდამსხმელს არ შეეძლო აერჩია, ვის მონაცემებს მიიღებდა, და მკვლევრებმა არ აჩვენეს, რომ ხარვეზით სხვა მომხმარებლის აქტიური მონაცემების შეცვლა ან დატვირთვის გათიშვა შეიძლებოდა. Accomplish ამ აღმოჩენას ივლისის შემდეგ გამოქვეყნებულ მეექვსე გაქცევად მიიჩნევს კოდის სენდბოქსიდან. მკვლევრების თქმით, იგივე დისკის მექანიზმი Cloudflare-ის Browser Run-საც შეეხო, რასაც კომპანიის პოსტი არ ახსენებს.
SiTech — AI-გაძლიერებული ვებ დეველოპმენტი
ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.