
CVE-2020-10663 के लिए उपाय (json gem में भेद्यता)
json gem में एक सुरक्षा भेद्यता CVE-2020-10663 है। कुछ विशेष JSON दस्तावेज़ों को पार्स करते समय, json gem लक्ष्य प्रणाली में मनमानी वस्तुएं बनाने के लिए बाध्य हो सकता है।
उपयोगकर्ताओं को json 2.3.0 या बाद के संस्करण में अपग्रेड करने की दृढ़ता से सलाह दी जाती है।
जो उपयोगकर्ता अपने json संस्करण को अपग्रेड नहीं कर सकते, उनके लिए यह gem (json_cve_2020_10663) CVE-2020-10663 के विरुद्ध आपके json संस्करण को मंकी-पैच करता है।
ध्यान दें कि यदि आप Rails 3.2 LTS या 4.2 LTS के वर्तमान संस्करण का उपयोग कर रहे हैं, तो इस gem की अब आवश्यकता नहीं है।
json 1.7.7 या बाद का संस्करण, लेकिन 2.3.0 से पहले।अपने एप्लिकेशन के Gemfile में यह पंक्ति जोड़ें:
gem 'json_cve_2020_10663'
और फिर निष्पादित करें:
$ bundle
या इसे स्वयं इस प्रकार स्थापित करें:
$ gem install json_cve_2020_10663
json gem को पैच करने के लिए gem को रिक्वायर करें:
require 'json_cve_2020_10663'
ध्यान दें कि Rails जब आपका ऐप बूट होता है तो स्वचालित रूप से आपके Gemfile के सभी gems को रिक्वायर करता है।
आप अपने एप्लिकेशन वातावरण से निम्नलिखित कोड चलाकर सत्यापित कर सकते हैं कि पैच लागू किया गया है:
JSON::GenericObject.json_creatable = true
JSON('{"json_class":"JSON::GenericObject"}').class
यदि यह Hash लौटाता है, तो पैच सही ढंग से लागू किया गया है। यदि यह JSON::GenericObject लौटाता है, तो पैच लोड नहीं किया गया था।
रिपॉजिटरी को चेक आउट करने के बाद, निर्भरताएँ स्थापित करने के लिए bin/setup चलाएँ। फिर, परीक्षण चलाने के लिए rake spec चलाएँ। आप एक इंटरैक्टिव प्रॉम्प्ट के लिए bin/console भी चला सकते हैं जो आपको प्रयोग करने की अनुमति देगा।
इस gem को अपनी स्थानीय मशीन पर स्थापित करने के लिए bundle exec rake install चलाएँ। एक नया संस्करण जारी करने के लिए, version.rb में संस्करण संख्या अपडेट करें, और फिर bundle exec rake release चलाएँ, जो संस्करण के लिए एक git टैग बनाएगा, git कमिट्स और टैग्स को पुश करेगा, और .gem फ़ाइल को rubygems.org पर पुश करेगा।
यह gem MIT License की शर्तों के तहत ओपन सोर्स के रूप में उपलब्ध है।