O vulnerabilitate în pachetul Python Js2Py, descărcat de peste un milion de ori pe lună

În pachetul Python Js2Py, care a fost descărcat de 1,2 milioane de ori luna trecută, a fost descoperită o vulnerabilitate (CVE-2024-28397) care permite ocolirea izolării sandbox și executarea de cod în sistem atunci când se procesează date special formulate în JavaScript. Vulnerabilitatea poate fi folosită pentru a ataca programele care utilizează Js2Py pentru a executa cod JavaScript. Soluția este disponibilă deocamdată doar sub formă de patch. Un prototip de exploit a fost pregătit pentru a verifica posibilitatea atacului.

Pachetul Js2Py implementează un interpret și un translatator JavaScript, permițând executarea codului JavaScript într-un mediu izolat mașina virtuală sau traducerea JavaScript-ului în Python. Proiectul este scris integral în Python și nu utilizează motoare JavaScript externe. În practică, biblioteca este folosită în diverse indexatoare web, sisteme de descărcare și analizatori de site-uri, care suportă procesarea conținutului generat de cod JavaScript.

Printre aplicațiile afectate de vulnerabilitate se numără Lightnovel Crawler (un utilitar pentru descărcarea cărților din servicii online și salvarea acestora în diverse formate pentru citirea offline), cloudscraper (care ocolește automat paginile de protecție împotriva bot-urilor utilizate în CDN Cloudflare) și pyLoad (un manager de descărcări care suportă procesarea paginilor generate de JavaScript). La procesarea conținutului JavaScript special formulat în aceste aplicații, un atacator poate reuși să execute cod arbitrar la nivel de sistem.

Vulnerabilitatea este prezentă în implementarea unei variabile globale în js2py, care permite obținerea unei referințe la un obiect Python din codul JavaScript executat în mediu izolat, indiferent de apelul metodei js2py.disable_pyimport() pentru a dezactiva importul obiectelor Python. Pentru a executa cod arbitrar în sistem, atacatorul poate profita de vulnerabilitate pentru a accesa obiectul Popen din modulul Python subprocess. Este demn de remarcat faptul că modificarea care soluționează vulnerabilitatea a fost trimisă în proiectul Js2Py pe 1 martie, dar după trei luni și jumătate nu a fost acceptată.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster