
यह भेद्यता js2py में अपूर्ण सैंडबॉक्सिंग से उत्पन्न होती है, जहाँ क्राफ्टेड जावास्क्रिप्ट पायथन के आंतरिक ऑब्जेक्ट मॉडल को पार कर सकता है और subprocess.Popen जैसी खतरनाक कक्षाओं तक पहुँच सकता है, जिससे मनमाना कमांड निष्पादन हो सकता है।
यह भेद्यता js2py में अपूर्ण सैंडबॉक्सिंग के कारण उत्पन्न होती है, जहां तैयार JavaScript Python के आंतरिक ऑब्जेक्ट मॉडल को ट्रैवर्स कर सकती है और subprocess.Popen जैसी खतरनाक क्लासेस तक पहुंच सकती है, जिससे मनमाना कमांड निष्पादन हो सकता है।
इस रिपॉजिटरी में एक प्रूफ-ऑफ-कॉन्सेप्ट (PoC) पेलोड शामिल है जो js2py.disable_pyimport() के माध्यम से एक सैंडबॉक्स एस्केप प्रदर्शित करता है, जो js2py संस्करण 0.74 तक की भेद्यता है।
जब कोई एप्लिकेशन उपयोगकर्ता-आपूर्ति किए गए JSON/JavaScript को असुरक्षित रूप से मूल्यांकन या पार्स करता है, तो यह भेद्यता एक हमलावर को JavaScript सैंडबॉक्स से बाहर निकलने, Python इंटर्नल्स तक पहुंचने, subprocess.Popen का पता लगाने और मनमाना कमांड निष्पादित करने की अनुमति देती है।
js2py का उपयोग करके JavaScript को सुरक्षित रूप से पार्स करने वाले कई Python वातावरणों को प्रभावित करता है।js2py.disable_pyimport() के भीतर अपूर्ण सैंडबॉक्सिंग में निहित है, और यह ग्लोबल ऑब्जेक्ट एक्सेस के माध्यम से इच्छित आयात प्रतिबंधों को बायपास करना संभव बनाता है।subprocess.Popen का पता लगाने के लिए __class__, __base__, और __subclasses__() तक पहुंचता है।disable_pyimport() सैंडबॉक्स एस्केप के माध्यम से js2py RCE https://github.com/advisories/GHSA-h95x-26f3-88hr