
CVE-2023-30547 vm2 सैंडबॉक्स एस्केप भेद्यता के लिए Python एक्सप्लॉइट। कमजोर Node.js सैंडबॉक्स वातावरण से रिवर्स शेल खोलने के लिए base64-एन्कोडेड JSON पेलोड उत्पन्न करता है।
vm2 एक सैंडबॉक्स है जो whitelisted Node के built-in मॉड्यूल के साथ अविश्वसनीय कोड चला सकता है। vm2 के 3.9.16 तक के संस्करणों में exception sanitization में एक भेद्यता मौजूद है, जो हमलावरों को handleException() के अंदर एक unsanitized host exception उठाने की अनुमति देती है, जिसका उपयोग सैंडबॉक्स से बाहर निकलने और host context में arbitrary code चलाने के लिए किया जा सकता है। यह भेद्यता vm2 के संस्करण 3.9.17 के रिलीज़ में ठीक कर दी गई थी। इस भेद्यता के लिए कोई ज्ञात workaround नहीं है। उपयोगकर्ताओं को upgrade करने की सलाह दी जाती है।
PoC के लिए Python कोड https://gist.github.com/leesh3288/381b230b04936dd4d74aaf90cc8bb244 में है। Codify HTB में उपयोग किया गया।
usage: exploit.py [-h] [-u URL] [-p PORT] [-i IP]
description: Opens a reverse shell from a vm2 vulnerable website using a base64-encoded payload in JSON format
options:
-h, --help show this help message and exit
-u URL, --url URL HTTP address of the destination website
-p PORT, --port PORT Port to listen on
-i IP, --ip IP Your IP address