
एक सुरक्षा अनुसंधान उपकरण जो CVE-2025-36911: Fast Pair Pairing Mode Bypass भेद्यता की पहचान और प्रदर्शन करता है
CVE-2025-36911 और Google के Fast Pair पारिस्थितिकी तंत्र में सुरक्षा अंतरालों की गहन जांच
Google Fast Pair को Bluetooth युग्मन को सहज बनाने के लिए डिज़ाइन किया गया था: एक सूचना पर टैप करें और आप कनेक्ट हो जाते हैं। लेकिन क्या होता है जब वह सहज अनुभव एक सुरक्षा देयता बन जाता है? WhisperPair-PoC-Tool एक सुरक्षा अनुसंधान उपकरण है जो लाखों Bluetooth सहायक उपकरणों को प्रभावित करने वाली दो महत्वपूर्ण भेद्यता श्रेणियों को उजागर करता है: अनधिकृत युग्मन बाइपास और Find My Device Network ट्रैकिंग शोषण।
यह पोस्ट WhisperPair-PoC-Tool की तकनीकी आंतरिक संरचना, इसके द्वारा शोषित प्रोटोकॉल कमजोरियों और Bluetooth सहायक उपकरण पारिस्थितिकी तंत्र के लिए इसका क्या अर्थ है, का विवरण देता है।
Google Fast Pair विनिर्देश स्पष्ट रूप से बताता है:
"यदि वैकल्पिक सार्वजनिक कुंजी फ़ील्ड मौजूद है: यदि उपकरण युग्मन मोड में नहीं है, तो लिखने को अनदेखा करें और बाहर निकलें।"
यह महत्वपूर्ण सुरक्षा गेट है। उपकरणों को केवल तभी कुंजी-आधारित युग्मन (Key-Based Pairing) अनुरोधों का जवाब देना चाहिए जब उपयोगकर्ता ने स्पष्ट रूप से उपकरण को युग्मन मोड (आमतौर पर एक बटन दबाकर) में डाल दिया हो। यह उपयोगकर्ता की मंशा सुनिश्चित करता है, ताकि आप किसी के ईयरबड्स को तब युग्मित न कर सकें जब वे उन्हें पहने हुए हों।
समस्या: कई निर्माता इस जाँच को पूरी तरह से छोड़ देते हैं। वे युग्मन मोड स्थिति की परवाह किए बिना युग्मन अनुरोधों को संसाधित करते हैं, जिससे निम्न सक्षम होता है:
Google का Find My Device Network (FMDN) भीड़-स्रोत Android उपकरण नेटवर्क के माध्यम से Bluetooth सहायक उपकरणों को ट्रैक करने की अनुमति देता है। इसके लिए एक खाता कुंजी (Account Key) की आवश्यकता होती है, जो उपकरण को Google खाते से जोड़ने वाली 16-बाइट सममित कुंजी है।
समस्या: खाता कुंजी विशेषता (Account Key characteristic) प्रायः प्रमाणीकरण के बिना लेखन स्वीकार करती है:
शोषण में गोता लगाने से पहले, आइए वैध Fast Pair प्रवाह को समझें:
┌─────────────────────────────────────────────────────────────┐
│ BLE Advertisement │
├─────────────────────────────────────────────────────────────┤
│ Service UUID: 0xFE2C (Fast Pair) │
│ Service Data: │
│ [Pairing Mode] → 3 bytes: Model ID only │
│ [Not Pairing] → 4+ bytes: 0x00 + Account Key Filter │
└─────────────────────────────────────────────────────────────┘
विज्ञापन प्रारूप युग्मन स्थिति प्रकट करता है:
Seeker (Phone) Provider (Accessory)
│ │
│───── GATT Connect ──────────────────────────>│
│ │
│───── Discover Services ─────────────────────>│
│<──── Service: 0xFE2C ────────────────────────│
│ │
│───── Enable Notifications (0xFE2C1234) ─────>│
│ │
│───── Write Key-Based Pairing Request ───────>│
│ [16-byte encrypted block] │
│ [64-byte ECDH Public Key] (optional) │
│ │
│ ┌────────────────────────────────────┐ │
│ │ SECURITY CHECK: │ │
│ │ If Public Key present AND │ │
│ │ device NOT in pairing mode: │ │
│ │ → IGNORE and EXIT │ │
│ │ Else: │ │
│ │ → Process request │ │
│ └────────────────────────────────────┘ │
│ │
│<──── Notification: Encrypted Response ───────│
│ [Provider's BR/EDR Address] │
│ │
│═══════ Bluetooth Classic Pairing ═══════════>│
भेद्यता तब होती है जब उपकरण "सुरक्षा जाँच" बॉक्स को पूरी तरह से छोड़ देते हैं।
WhisperPair-PoC-Tool Bleak BLE लाइब्रेरी के ऊपर बनाया गया एक Python-आधारित सुरक्षा अनुसंधान उपकरण है। यह कई चरणों में काम करता है:
┌────────────────────────────────────────────────────────────────┐
│ WhisperPair-PoC-Tool │
├────────────────────────────────────────────────────────────────┤
│ CLI Layer │
│ ├── Argument parsing (--target-name, --scan-duration) │
│ ├── TargetPolicy construction │
│ └── REPL initialization │
├────────────────────────────────────────────────────────────────┤
│ Discovery Engine │
│ ├── BLE scanning via Bleak │
│ ├── Advertisement parsing │
│ ├── Protocol detection (Fast Pair, FMDN, Swift Pair) │
│ └── Device fingerprinting (Model ID, OUI lookup) │
├────────────────────────────────────────────────────────────────┤
│ Check Engines │
│ ├── FastPairCheckEngine (passive advertisement analysis) │
│ ├── FastPairBypass (active CVE-2025-36911 testing) │
│ ├── FindHubCheckEngine (Account Key status detection) │
│ └── RiskScorer (composite vulnerability assessment) │
├────────────────────────────────────────────────────────────────┤
│ Connection Manager │
│ ├── GATT connect with MTU negotiation │
│ ├── Service/characteristic discovery │
│ ├── Read/Write/Notify operations │
│ └── Error handling and retry logic │
├────────────────────────────────────────────────────────────────┤
│ Exploitation Modules │
│ ├── ring_device() - Trigger locator sound │
│ ├── set_account_key() - Write Account Key │
│ └── Response parsing (BR/EDR address extraction) │
└────────────────────────────────────────────────────────────────┘
discovery.py)स्कैनर BLE विज्ञापनों को कैप्चर करने के लिए Bleak का डिटेक्शन कॉलबैक उपयोग करता है: