
Detection and Mitigation script for CVE-2021-42717 -> ModSecurity DoS Vulnerability in JSON Parsing
CVE-2021-42717 के लिए पहचान और शमन स्क्रिप्ट -> JSON पार्सिंग में ModSecurity DoS भेद्यता
ModSecurity 3.x से 3.0.5 अत्यधिक नेस्टेड JSON ऑब्जेक्ट्स को गलत तरीके से संभालता है। हजारों-लाखों गहराई तक नेस्टिंग वाले बनाए गए JSON ऑब्जेक्ट्स के परिणामस्वरूप वेब सर्वर वैध अनुरोधों को सेवा देने में असमर्थ हो सकता है। एक मध्यम आकार (जैसे, 300KB) का HTTP अनुरोध भी सीमित NGINX वर्कर प्रक्रियाओं में से एक को मिनटों के लिए घेर सकता है और मशीन पर लगभग सभी उपलब्ध CPU का उपभोग कर सकता है। Modsecurity 2 समान रूप से असुरक्षित है: प्रभावित संस्करणों में 2.8.0 से 2.9.4 शामिल हैं।
संभावित शमन: एक phase:1 श्रृंखलाबद्ध नियम बनाएं जो उन अनुरोधों को अस्वीकार कर देगा जो JSON पार्सर का उपयोग करेंगे यदि Content-Length एक निश्चित आकार (अधिकांश इंस्टॉलेशन में 10,000 से 20,000 बाइट्स संभवतः सुरक्षित है) से अधिक हो। कुछ v2 उपयोगकर्ता वैकल्पिक रूप से SecRequestBodyNoFilesLimit कॉन्फ़िगरेशन आइटम का उपयोग करने में सक्षम हो सकते हैं यदि अन्य गैर-फ़ाइल अनुरोध निकाय भी समान सीमाओं से नीचे होने की उम्मीद है। ModSecurity <v2.9.3 वाले उपयोगकर्ताओं के लिए विशेष नोट: हालांकि समस्या v2.9.2 जैसे पुराने संस्करणों में मौजूद है, ऐसा प्रतीत होता है कि समस्याग्रस्त देरी को ट्रिगर करने के लिए बड़े अनुरोध निकाय आकार की आवश्यकता होती है, जिसका अर्थ है कि अनुरोध निकाय आकार से संबंधित सीमाएं शायद बड़ी (शायद 40,000 से 50,000 बाइट्स) हो सकती हैं और फिर भी अधिकांश इंस्टॉलेशन में उचित सुरक्षा प्रदान कर सकती हैं। https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/modsecurity-dos-vulnerability-in-json-parsing-cve-2021-42717/
