
CVE-2019-5420 के लिए Python एक्सप्लॉइट स्क्रिप्ट, जो Ruby on Rails के signed-session AES GCM key brute-forcing को लक्षित करते हुए विकास/स्टेजिंग वातावरण में रिमोट कोड निष्पादन प्राप्त करने के लिए है।
Ruby-on-Rails तीन अलग-अलग वातावरण प्रदान करता है जिनमें यह चल सकता है: विकास (development), परीक्षण (test) और उत्पादन (production)। स्पष्ट रूप से, आपको विकास या परीक्षण में चलने वाले कोड को इंटरनेट पर उपलब्ध नहीं कराना चाहिए, लेकिन ऐसा (हमेशा की तरह) होता है (उदाहरण के लिए स्टेजिंग वातावरण में)।
Ruby-on-Rails लोगों को अपने एप्लिकेशन को आसानी से स्केल करने में सक्षम बनाने के लिए "signed-sessions" का उपयोग करता है। समय के साथ, सत्रों को संभालने का तरीका बदल गया। 5.2.2 के साथ, सत्र JSON एन्कोडेड डेटा होते हैं जो डिफ़ॉल्ट रूप से AES GCM (aes-256-gcm) का उपयोग करके सुरक्षित होते हैं।
CVE-2019–5420 वास्तव में बहुत सरल है। सत्रों को एन्क्रिप्ट करने के लिए उपयोग की जाने वाली कुंजी का अनुमान लगाया जा सकता है (या ब्रूट फोर्स किया जा सकता है) विकास मोड में, क्योंकि यह एप्लिकेशन के नाम पर आधारित होती है। सलाहकार के अनुसार, इस समस्या का उपयोग संभावित रूप से कोड निष्पादन (RCE) प्राप्त करने के लिए किया जा सकता है।
एक सरल पायथन स्क्रिप्ट उपरोक्त कार्यक्षमता का शोषण करती है।