Ranljivost u Python paketu Js2Py, preuzetom više od milijun puta mjesečno

U Python paketu Js2Py, koji je prošlog mjeseca preuzet 1,2 milijuna puta, otkrivena je ranjivost (CVE-2024-28397) koja omogućava zaobilaženje sandbox izolacije i izvršavanje koda na sustavu prilikom obrade posebno oblikovanih podataka putem JavaScript-a. Ranjivost se može iskoristiti za napad na programe koji koriste Js2Py za izvršavanje JavaScript koda. Ispravka je trenutno dostupna samo u obliku zakrpe. Prototip eksploitacije je pripremljen za testiranje mogućnosti napada.

Paket Js2Py implementira interpreter i transpilator JavaScript-a, koji omogućava izvršavanje JavaScript koda u izoliranom okruženju virtualnoj mašini ili transpiliranje JavaScript-a u Python prikaz. Projekt je u potpunosti napisan na Pythonu i ne koristi vanjske JavaScript engine-e. U praksi se knjižnica koristi u raznim web indeksatorima, sustavima preuzimanja i analizatorima web stranica koji podržavaju obradu sadržaja generiranog JavaScript kodom.

Među aplikacijama koje su pogođene ranjivošću su Lightnovel Crawler (alat za preuzimanje knjiga iz online servisa i njihovo spremanje u raznim formatima za offline čitanje), cloudscraper (automatsko zaobilaženje stranica zaštite od botova korištenih u CDN-u Cloudflare) i pyLoad (menadžer preuzimanja koji podržava obradu stranica generiranih JavaScript-om). Prilikom obrade posebno oblikovanog JavaScript sadržaja u ovim aplikacijama, napadač može postići izvršavanje proizvoljnog koda na razini sustava.

Ranjivost je prisutna u implementaciji globalne varijable unutar js2py, koja omogućava dobivanje reference na Python objekt iz JavaScript koda koji se izvršava u izoliranom okruženju, bez obzira na poziv metode js2py.disable_pyimport() za onemogućavanje uvoza Python objekata. Za izvršavanje proizvoljnog koda na sustavu, napadač može iskoristiti ranjivost za dobivanje pristupa objektu Popen iz Python modula subprocess. Zanimljivo je da je izmjena koja uklanja ranjivost poslana projektu Js2Py prvog ožujka, ali do sada, nakon tri i pol mjeseca, nije prihvaćena.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster