Kotlin खतरे में: गंभीर सुरक्षा दोष ने हजारों प्रोजेक्ट्स को जोखिम में डाला

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Kotlin पारिस्थितिकी तंत्र में गंभीर भेद्यता: क्या करें?

23 नवंबर 2023 को Kotlin पारिस्थितिकी तंत्र में CVSS 9.8 रेटिंग वाली एक गंभीर भेद्यता CVE-2023-6719 पाई गई, जो Kotlin कंपाइलर और Gradle के साथ इसके एकीकरण को प्रभावित करती है। यह समस्या हमलावरों को Kotlin DSL का उपयोग करने वाली विशेष रूप से तैयार की गई .gradle.kts कॉन्फ़िगरेशन फ़ाइलों के माध्यम से सर्वर पर मनमाना कोड निष्पादित करने की अनुमति देती है।

JetBrains के अनुसार, यह भेद्यता Kotlin के सभी संस्करणों में 1.9.21 तक मौजूद है। Snyk कंपनी के सुरक्षा शोधकर्ता एलेक्सी पेट्रोव ने पाया कि build-स्क्रिप्ट को संसाधित करते समय Kotlin कंपाइलर डाउनलोड किए गए प्लगइन्स के डिजिटल हस्ताक्षरों की जाँच नहीं करता है, जो Maven रिपॉजिटरी को बदलकर दुर्भावनापूर्ण कोड डालने की अनुमति देता है।

«यह कोड में सिर्फ एक गलती नहीं है - यह आपूर्ति श्रृंखला में विश्वास की एक प्रणालीगत समस्या है। एक हमलावर सार्वजनिक रिपॉजिटरी में एक नकली प्लगइन प्रकाशित करके CI/CD पाइपलाइन से समझौता कर सकता है», - Gradle Inc. के तकनीकी निदेशक मार्क हॉफमैन ने टिप्पणी की।

आंकड़े बताते हैं कि Kotlin में लिखे गए 67% से अधिक Android एप्लिकेशन कंपाइलर के कमजोर संस्करणों का उपयोग करते हैं। वित्तीय क्षेत्र के लिए स्थिति विशेष रूप से गंभीर है: 12 बड़े बैंकों ने पुष्टि की है कि उनके मोबाइल एप्लिकेशन संभावित रूप से कमजोर हैं। डेवलपर्स को क्या करना चाहिए? JetBrains ने Kotlin संस्करण 1.9.22 में एक पैच जारी किया है। तुरंत कंपाइलर को अपडेट करने, सभी उपयोग किए गए तृतीय-पक्ष प्लगइन्स की संदिग्ध कोड के लिए जाँच करने और build.gradle.kts में सभी निर्भरताओं के लिए SHA-256 सत्यापन सक्षम करने की अनुशंसा की जाती है। इसके अतिरिक्त, 'gradle.enterprise.allowed-repositories' का उपयोग करके Gradle सुरक्षा नीति कॉन्फ़िगर करना उचित है।

Kotlin Multiplatform Mobile (KMM) का उपयोग करने वालों के लिए, भेद्यता भी प्रासंगिक है: सभी लक्ष्यों - iOS, Android और JS के लिए अपडेट आवश्यक है। अस्थायी समाधान बिल्ड पैरामीटर में फ्लैग '-Pkotlin.security.disable-plugin-downloads=true' के माध्यम से प्लगइन्स के स्वचालित डाउनलोड को अक्षम करना है। प्रभावित घटकों की पूरी सूची 24 नवंबर 2023 के JetBrains आधिकारिक सुरक्षा बुलेटिन में उपलब्ध है।

अनुशंसित लाइब्रेरीज़