კიბერუსაფრთხოების სფეროში ახალი კრიტიკული ხარვეზი გამოვლინდა, რომელიც საფრთხეს უქმნის Python-ის პოპულარულ ვებ-ჩარჩოებს — Starlette-სა და FastAPI-ს. CVE-2026-48710, ცნობილი როგორც „BadHost“, თავდამსხმელებს საშუალებას აძლევს, გვერდი აუარონ პათზე დაფუძნებულ ავტორიზაციის სისტემებს.
დაუცველობა X41 D-Sec-ის მკვლევრებმა OSTIF-ის მხარდაჭერილი აუდიტის ფარგლებში აღმოაჩინეს. პრობლემა უკავშირდება Starlette-ის 1.0.1 ვერსიამდე არსებულ ვერსიებს, სადაც მოთხოვნის URL-ის ფორმირება ხდება HTTP Host-ის სათაურისა და მოთხოვნის გზის შეერთებით.
როგორ მუშაობს თავდასხმა?
თავდამსხმელს შეუძლია გაგზავნოს სპეციალურად შექმნილი მოთხოვნა, სადაც Host-ის სათაურში ჩასმულია მანიპულირებული მონაცემები. შედეგად, აპლიკაციის შიდა მექანიზმები არასწორად აღიქვამენ მოთხოვნის გზას, რაც ავტორიზაციის მქონე შუალედურ პროგრამებს (middleware) აბნევს და მათ ნებართვის გარეშე უშვებს დაცულ რესურსებთან.
მნიშვნელოვანია აღინიშნოს, რომ ეს არ არის ერთი კონკრეტული ფაილის ან კოდის შეცდომა. ეს არის სისტემური ხასიათის პრობლემა, რომელიც წარმოიქმნება ASGI სერვერების, Starlette-ის არქიტექტურისა და დეველოპერების მიერ არასწორი მეთოდების გამოყენების კომბინაციით.
საფრთხე AI ინფრასტრუქტურისთვის
დაუცველობა განსაკუთრებით საშიშია თანამედროვე AI ეკოსისტემისთვის. ბევრი LLM (დიდი ენობრივი მოდელების) სერვერი, როგორიცაა vLLM, LiteLLM და სხვადასხვა AI აგენტური ჩარჩოები, აგებულია სწორედ FastAPI-სა და Starlette-ზე.
- vLLM და LiteLLM: მოდელებზე წვდომის კონტროლი შესაძლოა გვერდის ავლით იქნას დარღვეული.
- MCP (Model Context Protocol) სერვერები: ეს სერვერები ავტომატურად მოწყვლადი ხდებიან, რადგან პროტოკოლი თავად მოითხოვს აღმოჩენის (discovery) ღია წერტილებს.
- კორპორატიული API-ები: შიდა ხელსაწყოები და API გასაღებები შეიძლება გახდეს ხელმისაწვდომი არაავტორიზებული პირებისთვის.
როგორ დავიცვათ თავი?
ექსპერტები რეკომენდაციას უწევენ Starlette-ის ვერსიის განახლებას 1.0.1-ზე ან უფრო მაღალზე. ასევე, აუცილებელია კოდის აუდიტი იმ Middleware ფაილებში, სადაც გამოიყენება request.url.path. სტანდარტული FastAPI Depends() უსაფრთხოების მექანიზმები, რომლებიც მარშრუტების შესაბამისობას ეყრდნობა, ამ ეტაპზე დაცულად ითვლება.
Nemesis-ის გუნდმა შექმნა სპეციალური სკანერი, რომელიც დაგეხმარებათ საკუთარი აპლიკაციების ტესტირებაში. ასევე ხელმისაწვდომია Semgrep და CodeQL წესები, რომლებიც სტატიკური ანალიზის გზით დაგეხმარებათ მოწყვლადი კოდის პოვნაში.






დისკუსია
0 კომენტარი
ჯერ კომენტარი არ არის — იყავი პირველი.