V Python paketu Js2Py, ki je bil prenesen 1,2 milijona krat prejšnji mesec, je bila odkrita ranljivost (CVE-2024-28397), ki omogoča obhod izolacije v peskovniku in izvajanje kode v sistemu pri obdelavi posebej oblikovanih podatkov v JavaScriptu. Ranljivost se lahko uporablja za napade na programe, ki uporabljajo Js2Py za izvajanje JavaScript kode. Popravilo je trenutno na voljo le v obliki popravka. Za preverjanje možnosti napada je bil pripravljen prototip exploita.
Paket Js2Py izvaja interpreter in prevajalnik JavaScript, ki omogoča izvajanje JavaScript kode v izoliranem okolju virtualni napravi ali prevod JavaScript kode v predstavitev v jeziku Python. Projekt je v celoti napisan v Pythonu in ne uporablja zunanjih JavaScript motorjev. V praksi se knjižnica uporablja v različnih spletnih indeksatorjih, sistemih za prenos in analizatorjih spletnih strani, ki podpirajo obdelavo vsebine, generirane z JavaScript kodo.
Med aplikacijami, ki jih zadeva ranljivost, so Lightnovel Crawler (orodje za prenos knjig iz spletnih storitev, ki jih shranjuje v različnih formatih za branje brez povezave), cloudscraper (samodejno obhajanje strani zaščite pred botom, ki jih uporablja CDN Cloudflare) in pyLoad (upravljalnik prenosov, ki podpira obdelavo strani, ki jih generira JavaScript). Pri obdelavi posebej oblikovanega JavaScript vsebine v teh aplikacijah lahko napadalec doseže izvajanje poljubne kode na ravni sistema.
Ranljivost obstaja v implementaciji globalne spremenljivke znotraj js2py, ki omogoča dostop do Python objekta iz kode, ki se izvaja v izoliranem okolju JavaScript, ne glede na klic metode js2py.disable_pyimport() za onemogočanje uvoza Python objektov. Za izvajanje poljubne kode v sistemu lahko napadalec izkoristi ranljivost, da pridobi dostop do objekta Popen iz Python modula subprocess. Omeniti velja, da je bila sprememba z odpravo ranljivosti poslana projektu Js2Py prvega marca, vendar še vedno ni bila sprejeta po treh in pol mesecih.
Izvor: opennet.ru
