- Debian sid इंस्टॉलेशन में liblzma (xz पैकेज का हिस्सा) से जुड़े कुछ असामान्य लक्षण देखे गए, जैसे SSH लॉगिन के समय CPU उपयोग बढ़ना और valgrind त्रुटियां।
- समस्या की जड़ यह पाई गई कि xz का upstream repository और tarball बैकडोर से संक्रमित थे। बैकडोर का कुछ हिस्सा केवल वितरित tarball में मौजूद है।
- tarball में शामिल स्क्रिप्ट
configure के अंत में चलती है और यदि कुछ विशेष शर्तें पूरी हों, तो $builddir/src/liblzma/Makefile को संशोधित करके malicious code inject करती है.
repository के भीतर का बैकडोर
- बैकडोर का मुख्य हिस्सा repository के
tests/files directory में encrypted रूप में मौजूद है।
- ये फाइलें 5.6.0 version के tests में उपयोग नहीं हुई थीं, और 5.6.1 version में बैकडोर से पैदा हुई valgrind errors और crashes को ठीक करने का प्रयास किया गया था।
प्रभावित सिस्टम
- बैकडोर स्क्रिप्ट
configure के बाद पहली बार कॉल होती है और केवल कुछ विशेष शर्तों (जैसे x86-64 Linux system, gcc और gnu linker का उपयोग, Debian या RPM package build के दौरान) में build process को संशोधित करती है।
openssh server पर प्रभाव
- बैकडोर-इंस्टॉल्ड liblzma का उपयोग करने पर SSH के जरिए लॉगिन धीमा हो जाता है।
- openssh सीधे liblzma का उपयोग नहीं करता, लेकिन Debian सहित कुछ distributions systemd notification support के लिए openssh पर patch लगाते हैं, और libsystemd, lzma पर निर्भर करता है।
inject किए गए code का विश्लेषण
- यह विश्लेषण किसी security researcher या reverse engineering expert के बजाय एक पर्यवेक्षक के दृष्टिकोण से किया गया है।
- बैकडोर ifunc resolver के जरिए execution को intercept करता है, और sshd के initialization के दौरान symbols resolve करके
RSA_public_decrypt symbol को अपने code में बदल देता है।
sshd पर प्रभाव
RSA_public_decrypt@....plt को बैकडोर code की ओर मोड़ दिया जाता है, जिससे public key login के दौरान बैकडोर code कॉल होता है।
- इससे authentication bypass या remote code execution संभव होने का अनुमान है।
bug report
- upstream repository की संलिप्तता पर संदेह होने के कारण bug report दर्ज नहीं की गई।
- Red Hat ने इस समस्या को CVE-2024-3094 आवंटित किया है।
vulnerable installation का पता लगाना
- सिस्टम के ssh binary के vulnerable होने का पता लगाने के लिए एक script उपलब्ध कराई गई है।
8 टिप्पणियां
xz बैकडोर के बारे में मुझे जो कुछ भी पता है
यह उस पोस्ट का लेख है जिसे इस बैकडोर की खोज करने वाले Andres Freund ने लिखा है।
यह वाकई हैरान करने वाली बात है कि यह सब कितनी योजनाबद्ध तरीके से किया गया; पूरी प्रक्रिया किसी ड्रामा जैसी लगती है।
इसे टुकड़े-टुकड़े कर देना भी कम है
क्यों?
क्योंकि यह open source में जानबूझकर backdoor डालने की हरकत थी... और उस प्रक्रिया में चोरी-छिपे जनमत को प्रभावित करने जैसी हरकतें भी की गई थीं
पहले भी Linux kernel में दुर्भावनापूर्ण तरीके से vulnerability डालने के मामले रहे हैं, इसलिए यह काफ़ी कड़वा लगता है
आह, अब लगता है कि मैं उसका nuance समझ गया हूँ, धन्यवाद
Hacker News की राय
संबंधित लिंक:
सारांश:
xz-javaप्रोजेक्ट मेंSECURITY.mdफ़ाइल जोड़ी। इसमें निर्देश था कि अगर कोई security vulnerability मिले तो उसे सार्वजनिक न करें, बल्कि निजी तौर पर रिपोर्ट करें। दूसरे नज़रिए से देखें तो इसे इस तरह भी समझा जा सकता है कि लेखक अपने exploit को fine-tune करने और target का फायदा उठाने के लिए समय खरीदना चाहता था।