
CVE-2019-12255, CVE-2019-12256, CVE-2019-12258, और CVE-2019-12260 का पता लगाने के लिए Suricata LUA स्क्रिप्ट्स
Suricata LUA scripts CVE-2019-12255, CVE-2019-12256, CVE-2019-12258, और CVE-2019-12260 का पता लगाने के लिए
स्क्रिप्ट CVE-2019-12255 की जांच करती है। जांचे जाने वाले पैकेट में PSH, ACK, और URG फ़्लैग सेट होने चाहिए, और पेलोड का आकार 1500 बाइट्स से अधिक होना चाहिए। फिर यह जांचती है कि अर्जेंट पॉइंटर का मान 0 पर सेट है या नहीं, जो कमजोर उपकरणों पर इंटीजर अंडरफ़्लो का कारण बनेगा।
एक्सप्लॉइट अर्जेंट पॉइंटर को 0 पर सेट करके उसे अंडरफ़्लो करने पर आधारित है। यह दोष लक्ष्य के recv() में लंबाई की बाधा को नजरअंदाज करने का कारण बनता है, और TCP विंडो से सभी उपलब्ध डेटा को उपयोगकर्ता द्वारा प्रदान किए गए बफर में कॉपी करेगा। नियम जांचता है कि पेलोड 1500 बाइट्स से अधिक है या नहीं।
स्क्रिप्ट CVE-2019-12256 की जांच करती है। जांचे जाने वाले पैकेट में IP पैकेट में दो LSRR या SSRR विकल्प होते हैं। LSRR विकल्पों को हेक्स मान 0x83 से पहचाना जा सकता है, SSRR विकल्प को हेक्स मान 0x89 से। एक्सप्लॉइट में अमान्य मान होते हैं, लंबाई सामान्यतः रूट परिभाषित करते समय उपयोग की जाने वाली लंबाई (न्यूनतम 4 बाइट्स) से कम होती है, यह सर्वर को भेजे गए पैकेट में दो बार मौजूद होता है। निम्नलिखित IP विकल्प अमान्य LSRR विकल्पों के साथ स्टैक ओवरफ़्लो को ट्रिगर करेंगे:
| Type LSRR | Length | LSRR-Pointer | Type LSRR | Length | LSRR-Pointer |
|---|
| \x83 | \x03 | \x27 | \x83 | \x03 | \x27 |
निम्नलिखित IP विकल्प अमान्य SSRR विकल्पों के साथ स्टैक ओवरफ़्लो को ट्रिगर करेंगे:
| Type SSRR | Length | SSRR-Pointer | Type SSRR | Length | SSRR-Pointer |
|---|---|---|---|---|---|
| \x89 | \x03 | \x27 | \x89 | \x03 | \x27 |
स्क्रिप्ट CVE-2019-12258 की जांच करती है। इसमें शामिल पैकेट PCAP में एक टिप्पणी के साथ चिह्नित हैं। पहली पहचान 2 विंडो स्केल विकल्पों (1 अमान्य और 1 मान्य) के साथ जांची जा रही है। दूसरी बार यह अनहथियारबंद DoS वैरिएंट है जिसमें 1 अमान्य विंडो स्केल विकल्प है।
विंडो स्केल विकल्प का मान 03 है जो दर्शाता है कि यह विकल्प उपयोग किया जा रहा है, यह TCP पैकेट में ऑफ़सेट 57 पर है। इस एक्सप्लॉइट को ट्रिगर करने के लिए एक्सप्लॉइट का मान 2 (अमान्य) होना चाहिए, यह मान ऑफ़सेट 58 पर स्थित है। मानों की जाँच की जा रही है, यदि ऐसा है तो 1 (मिलान) लौटाता है।
स्क्रिप्ट CVE-2019-12260 की जांच करती है। जांचे जाने वाले पैकेट में एक विकृत SYN पैकेट होता है, इस पैकेट में <= 3 बाइट्स के बाइट मान के साथ TCP-AO विकल्प फ़ील्ड होता है। TCP-AO विकल्प को हेक्स मान 0x29 के साथ सेट किया जा सकता है, जैसा कि RFC के अनुसार है: https://tools.ietf.org/html/rfc5925#page-7
एक्सप्लॉइट TCP-AO विकल्प को 3 बाइट्स से कम या बराबर कुछ भी सेट करके विकृत करने पर आधारित है। यह जाँच करके किया जा सकता है कि हेक्स मान 0x29 ऑफ़सेट 56 पर एक विकल्प के रूप में सेट है।