- Freedom Chat नाम के MAGA (अमेरिकी रूढ़िवादी खेमे) थीम वाले मैसेंजर ऐप में एक गंभीर कमजोरी मिली, जो यूज़र्स के फ़ोन नंबर और PIN कोड उजागर करती थी
- यह ऐप Converso नाम के पुराने प्रोजेक्ट का उत्तराधिकारी है, जिसमें पहले भी encryption implementation की गड़बड़ी और data exposure की समस्याएँ रही थीं
- विश्लेषण से पता चला कि channel फीचर के जरिए सभी सदस्यों के PIN कोड दूसरे यूज़र्स तक भेजे जा रहे थे, और contact sync API के जरिए फ़ोन नंबर-UID matching संभव थी
- शोधकर्ता ने पुष्टि की कि rate limiting बिल्कुल नहीं थी, इसलिए एक ही दिन में Freedom Chat के सभी यूज़र्स के फ़ोन नंबर इकट्ठा किए जा सकते थे
- इस घटना को ऐसे उदाहरण के रूप में देखा गया, जहाँ “security पर ज़ोर देने” वाला ऐप बुनियादी privacy protection तक देने में विफल रहा
Converso से Freedom Chat तक का बदलाव
- 2023 में लॉन्च हुए Converso ने “serverless decentralized structure” और “latest E2EE” का दावा किया था, लेकिन शोधकर्ता crnković के विश्लेषण से ये सभी दावे झूठे साबित हुए
- वास्तव में यह central server और third-party encryption service (Seald) का इस्तेमाल करता था, और encryption keys सार्वजनिक जानकारी से निकाली जा सकती थीं
- सभी messages public Firebase bucket में upload किए जा रहे थे, जिन्हें कोई भी देख सकता था
- इसके बाद CEO Tanner Haas ने ऐप वापस ले लिया और “रूढ़िवादी खेमे की privacy concerns” का हवाला देकर इसे Freedom Chat के रूप में rebrand किया
- उन्होंने “आलोचना स्वीकार करो और सुधार करो” जैसी सीख का ज़िक्र किया, लेकिन security problems फिर दोहराई गईं
Freedom Chat की संरचना और फीचर
- ऐप फ़ोन नंबर आधारित signup और 2FA code verification का इस्तेमाल करता है, जबकि PIN सेट करना वैकल्पिक है
- इसके मुख्य फीचर 1:1 chat और Channels हैं, जिनकी संरचना Telegram जैसी है
- ऐप screenshot blocking feature को “security feature” के रूप में प्रचारित करता था, लेकिन इसका वास्तविक सुरक्षा से कोई संबंध नहीं था
PIN कोड लीक
/channelAPI request के नतीजे में channel के 1,519 सदस्यों के user object में PIN field शामिल थी- हर यूज़र के UID, Seald key, creation date आदि के साथ 6-अंकों का PIN कोड plain text में उजागर था
- नया account बनाकर जांचने पर पता चला कि खुद का PIN भी response data में जस का तस शामिल था
- यानी, default channel में मौजूद सभी यूज़र्स के PIN दूसरे यूज़र्स के सामने उजागर होने वाली संरचना थी
फ़ोन नंबर matching कमजोरी
/user/numbersAPI, WhatsApp की तरह contact के मौजूद होने या न होने की पुष्टि करती है- request में शामिल नंबरों में अगर कोई Freedom Chat यूज़र हो, तो यह UID और Seald key लौटाती है
- शोधकर्ता ने पाया कि इस API पर rate limiting बिल्कुल नहीं थी, इसलिए सभी अमेरिकी फ़ोन नंबर क्रमवार टेस्ट किए जा सकते थे
- नतीजतन फ़ोन नंबर-UID matching संभव थी, और पहले से उजागर UID-PIN data के साथ जोड़ने पर फ़ोन नंबर-PIN mapping पूरी हो जाती थी
पूरे यूज़र डेटा लीक का प्रयोग
- शोधकर्ता ने Python script लिखकर उत्तरी अमेरिका के सभी फ़ोन नंबर (7-अंकों के संयोजन × area code) पर automated requests भेजीं
- हर request में 40,000 नंबर भेजे गए, और औसत response time लगभग 1.5 सेकंड था
- 27 घंटे तक सभी requests सफलतापूर्वक प्रोसेस हुईं, जिससे Freedom Chat के सभी यूज़र्स के फ़ोन नंबर इकट्ठा कर लिए गए
- server ने rate limiting या blocking के बिना response दिया, यानी डेटा पूरी तरह देखे जा सकने की स्थिति में था
प्रतिक्रिया और आगे की कार्रवाई
- 2025-11-23: कमजोरी का पता चला
- 2025-12-04: TechCrunch के पत्रकार Zack Whittaker ने Freedom Chat को कमजोरी की जानकारी दी
- 2025-12-05: Freedom Chat ने कहा, “PIN messages restore करने के लिए नहीं है, और audit process पहले से चल रही है”
- 2025-12-09: समस्या ठीक होने की सूचना दी गई
- 2025-12-11: यह रिपोर्ट और TechCrunch का लेख एक साथ प्रकाशित हुए
मुख्य सबक
- Freedom Chat ने “सुपर सिक्योर” होने का दावा किया, लेकिन बुनियादी authentication, rate limiting और data protection design का अभाव था
- नतीजतन सभी यूज़र्स के फ़ोन नंबर और PIN उजागर हो गए, और security features व्यावहारिक रूप से निष्प्रभावी साबित हुए
- इसे security marketing और वास्तविक implementation के बीच खाई दिखाने वाले एक प्रमुख उदाहरण के रूप में देखा जा रहा है
1 टिप्पणियां
Hacker News की राय
Signal का encrypted phone number lookup system दिलचस्प है
क्योंकि सर्वर hardware-encrypted RAM में bit-level XOR operations का इस्तेमाल करके नंबर खोजता है, इसलिए सिस्टम को सबसे निचले स्तर पर भी देखने पर यह पता नहीं चल सकता कि अनुरोध किया गया फोन नंबर मौजूद है या नहीं
बेशक rate limiting एक अलग और महत्वपूर्ण मुद्दा है। security system बनाते समय कवर करने के लिए सच में बहुत सारे edge cases होते हैं
Matrix जैसे non-commercial, privacy-focused platform में ऐसी mapping को ही असंभव बना देना चाहिए
उदाहरण के लिए, यह प्रस्ताव कि users प्रत्येक user pair के phone numbers के hashed values upload करें ताकि कोई user केवल अपनी contact list में मौजूद लोगों द्वारा ही खोजा जा सके
इसका फायदा यह है कि hash space बड़ा होता है, इसलिए reverse tracing कठिन होती है, और user खुद discoverability की सीमा तय कर सकता है
नुकसान यह है कि attacker सभी number combinations बनाकर contact relationships निकाल सकता है, और सरकार SMS verification को intercept करके इसका दुरुपयोग भी कर सकती है
user object का
pinfield संदिग्ध लगता हैसंभव है कि यह opt-out serialization library के इस्तेमाल से हुई समस्या हो। default रूप से पूरा object serialize हो जाता है, इसलिए अगर developer किसी खास field को exclude करने वाली setting लगाना भूल जाए, तो वह वैसे ही expose हो जाता है
या फिर server पर बस JS dictionary इस्तेमाल की गई हो और response भेजने से पहले field हटाई न गई हो
यह vulnerability University of Vienna research team paper में उल्लेखित पुरानी समस्या है, और 2016 में Telegram में भी इसी तरीके से exploit हुआ था, जिसके कारण ईरानी सरकार ने 1.5 करोड़ users के phone numbers इकट्ठा किए थे
संबंधित लिंक: Telegram ब्लॉग
आजकल अधिकतर security vulnerabilities सिर्फ अप्रत्याशित तरीके से HTTP endpoints को call करने से पैदा होती हैं
2025 में hacking सुनते ही लोग जटिल तकनीक की कल्पना करते हैं, लेकिन हकीकत यह है कि rate limiting तक के बिना API deploy कर दिए जाते हैं। यह तो Nginx setting की एक लाइन से हल होने वाली समस्या है
अधिकांश लक्ष्य user friction कम करना और commercial efficiency बढ़ाना है। बहुत से developers XSS या SSRF जैसी बुनियादी vulnerabilities जाने बिना केवल features implement कर देते हैं
Docker port mapping की गलती या CSP की कमी जैसी बुनियादी security mistakes बहुत आम हैं
“मैं readers को सिर्फ सबसे बेहतरीन blog posts देना चाहता हूँ” यह वाक्य पढ़कर लगा कि मुझे लेखक जैसा मिलती-जुलती प्रवृत्ति वाला व्यक्ति मिल गया
सोच रहा हूँ कि क्या Freedom Chat® में ऐसा feature है जो journalists को group chat में शामिल होने से रोक सके। आधा मज़ाक, आधा गंभीर होकर अपने DoD दोस्त के लिए पूछ रहा हूँ
सिर्फ इस साल ही कई बार ऐसा हुआ है कि “security apps” ने user data संभालते हुए leak कर दिया
याद आने वाली ही लगभग 20 cents worth (=4 cases) हैं, लेकिन शायद इससे भी ज़्यादा होंगे
संबंधित मामले: 1, 2, 3
पिछले साल मैंने संयोग से GOP job board देखा था, और applications उसी search index में store थीं जिसमें job postings थीं
“bob” खोजते ही applicants के resumes और answers वैसे ही सामने आ गए, यह देखकर झटका लगा
Anom घटना के बाद “honeypot” से बेहतर किसी शब्द की ज़रूरत महसूस होती है
सचमुच सुरक्षित messenger इस तरह से नहीं आएगा। लेकिन marketing चलती रहेगी, और हर बार नए users खिंचे चले आएँगे
data leaks इतनी बार होते हैं कि अब लोग भी सुन्न हो चुके हैं। class action settlement का मुआवज़ा भी आखिरकार और अधिक personal information देने की प्रक्रिया बन जाता है
prediction markets, cryptocurrency आदि भी आखिरकार participants को नुकसान पहुँचाने वाली structural failures को ‘success’ की तरह पैक करके बेचने जैसा लगता है
Freedom Chat ने घोषणा की है कि “समस्या ठीक कर दी गई है”, लेकिन क्या यह सच में ठीक हुई है, इस पर संदेह है
अगर “मुझे mobile app development का अनुभव नहीं था, लेकिन मैं स्मार्ट हूँ इसलिए यह मुश्किल नहीं होगा” सचमुच का उद्धरण है, तो यह लगभग stand-up comedy की line जैसा लगता है