"बेशक, Firebase (आंशिक रूप से) इसकी वजह था"

  • AI editor Cursor की installer file डाउनलोड प्रक्रिया के दौरान यह पता चला कि वह Lulu firewall के ज़रिए ToDesktop से कनेक्ट करने की कोशिश करता है
    • ToDesktop Electron app packaging, SDK, updates आदि देने वाली एक सेवा है
  • यह पुष्टि हुई कि ऐप Firestore का उपयोग कर रहा है, और developer tools के माध्यम से Firebase की बुनियादी जाँच शुरू की गई
    • Firebase: Google द्वारा प्रदान किया गया ऐप backend platform, जो Firestore नाम के NoSQL database के ज़रिए client-side data storage और processing को सपोर्ट करता है
  • DevTools और sourcemap का उपयोग करके Firestore में इस्तेमाल हो रही collections को देखा गया
  • temporaryApplications नाम की एक collection मिली, लेकिन वह सिर्फ़ पुरानी सूची थी और उसमें कोई संवेदनशील जानकारी नहीं थी (2022 के बाद अपडेट नहीं हुई)
  • यह भी पुष्टि हुई कि अधिकांश मुख्य logic और deployment काम npm package @todesktop/cli के माध्यम से हो रहे थे
  • @todesktop/cli में भी sourcemap था, इसलिए sourcemapper से मूल source structure को समझा गया

ToDesktop CLI को अंदर से देखना

  • ToDesktop CLI: app deployment, source code upload आदि जैसी मुख्य सुविधाओं को संभालता है
  • CLI sourcemap का विश्लेषण करते समय Firebase Cloud Function में getSignedURL का दुरुपयोग करके मनमाना S3 upload आज़माने योग्य एक vulnerability मिली, लेकिन वास्तव में उपयोगी file path ढूँढना मुश्किल लग रहा था

Postinstall script के ज़रिए deployment pipeline hijack करना

  • लक्ष्य: build चलाने वाले container (server) में code execution permission हासिल करना
  • package.json के postinstall script में reverse shell payload डाला गया और build container से कनेक्शन प्राप्त हुआ
  • सफलतापूर्वक container के अंदर पहुँच मिली, और build environment की संरचना तथा महत्वपूर्ण files को देखा गया
  • config.json.encrypted file मिली, और उसका decryption तरीका भी खोज लिया गया, जिससे असली secret data (config.json) निकाला गया
  • इसके अलावा, अंदर Firebase Admin key भी मिली, जिसके पास व्यापक permissions थीं

Post-exploitation

  • इस vulnerability के ज़रिए मनचाहे app updates deploy किए जा सकते थे, जिससे यूज़र के ऐप restart करते ही तुरंत malicious code चलाया जा सकता था
  • वास्तव में एक test app पर update deploy करके client-side पर RCE (remote code execution) को पुन: निर्मित किया गया

प्रभाव का दायरा

  • ToDesktop का उपयोग करने वाले सभी apps में malicious update deploy किया जा सकता था, इसलिए यह समस्या संभावित रूप से लाखों से अधिक यूज़र्स को प्रभावित कर सकती थी
  • उदाहरण के तौर पर बताए गए apps:
  • खास तौर पर इन apps के यूज़र्स में IT और तकनीकी उद्योग के लोग अधिक हैं, इसलिए हमले की स्थिति में नुकसान बड़ा हो सकता है

The fix

  • रिपोर्ट के तुरंत बाद ToDesktop टीम से संपर्क किया गया और remediation process आगे बढ़ाई गई
  • ToDesktop ने तेज़ी से समस्या को ठीक किया और अतिरिक्त bounty भी दी
  • architecture को बदलकर signing, upload जैसी महत्वपूर्ण प्रक्रियाएँ build container से अलग permissions वाले sidecar container में कर दी गईं
  • ToDesktop की आधिकारिक security incident report यहाँ देखी जा सकती है
  • security incident किसी भी कंपनी में हो सकता है, लेकिन महत्वपूर्ण बात उसका response होता है, और ToDesktop ने तेज़, सहयोगात्मक रवैया दिखाकर सकारात्मक प्रभाव छोड़ा

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.