
macOS Sonoma, Sequoia और Tahoe पर अपरिविलेज्ड उपयोगकर्ता से root तक। macOS 26.6 / 15.7.8 / 14.8.8 में पैच किया गया।
macOS Tahoe, Sequoia और Sonoma में macOS 26.6 / 15.7.8 / 14.8.8 से पहले के संस्करणों को प्रभावित करने वाली CUPS कमज़ोरी के माध्यम से गैर-विशेषाधिकार प्राप्त उपयोगकर्ता से root तक।



यह कमज़ोरी विशेषाधिकार प्राप्त cupsd डेमॉन में दो श्रृंखलाबद्ध लॉजिक दोषों से उत्पन्न होती है।
1. विशेषाधिकार प्राप्त प्रमाणीकरण टोकन का ट्रस्ट सीमा के पार अग्रेषित किया जाना।
जब CUPS किसी नए पंजीकृत प्रिंटर की जाँच करता है, तो यह एक वैध Local प्रमाणीकरण टोकन को प्रिंटर के बैकएंड को अग्रेषित करता है — अर्थात् प्रिंटर के device-uri द्वारा निर्दिष्ट एंडपॉइंट को। चूँकि एक गैर-विशेषाधिकार प्राप्त उपयोगकर्ता उस device-uri को नियंत्रित करता है, वे अपने नियंत्रण वाले लिसनर की ओर इंगित करने वाला एक प्रिंटर पंजीकृत कर सकते हैं और ऐसा टोकन प्राप्त कर सकते हैं जिसे विश्वसनीय सबसिस्टम सीमा से बाहर जाने के लिए कभी नहीं बनाया गया था। डिज़ाइन यह मानता है कि बैकएंड विश्वसनीय है; गैर-विशेषाधिकार प्राप्त उपयोगकर्ताओं को प्रिंटर पंजीकृत करने की अनुमति देना उस मान्यता को तोड़ देता है।
2. प्रमाणीकरण सत्यापन पूर्ण होने से पहले root-विशेषाधिकार प्राप्त फ़ाइल I/O तक पहुँच।
प्रिंटर पंजीकरण के दौरान एक विश्वसनीय रूप से पुनरुत्पाद्य टाइमिंग विंडो के भीतर, cupsd प्रमाणीकरण सत्यापन पूर्ण होने से पहले root विशेषाधिकारों के साथ एक फ़ाइल लेखन करता है। विशेषाधिकार प्राप्त I/O को auth जाँच के हल होने पर निर्भर नहीं रखा गया है, और जिस क्षण लेखन होता है उस समय गंतव्य पथ और फ़ाइल सामग्री दोनों ही हमलावर के प्रभाव में होते हैं।
python3 poc.py
प्रूफ़ ऑफ़ कॉन्सेप्ट दोनों दोषों को तीन चरणों में श्रृंखलाबद्ध करता है।
चरण 1 — टोकन कैप्चर।
हमलावर एक प्रिंटर पंजीकृत करता है जिसका device-uri उनके नियंत्रण वाले स्थानीय लिसनर की ओर इंगित करता है, फिर एक प्रोब ट्रिगर करता है। cupsd एक वैध Local प्रमाणीकरण टोकन को हमलावर-नियंत्रित लिसनर को अग्रेषित करता है।
चरण 2 — टोकन रीप्ले।
हमलावर कैप्चर किए गए टोकन को रीप्ले करके एक दूसरा प्रिंटर पंजीकृत करता है जिसका device-uri file:// है और जो उनकी पसंद के किसी मनमाने, गैर-SIP-संरक्षित पथ को लक्षित करता है।
चरण 3 — root के रूप में मनमाना लेखन।
हमलावर दूसरे प्रिंटर को हमलावर-नियंत्रित सामग्री के साथ एक प्रिंट जॉब सबमिट करता है। cupsd जॉब डेटा को निर्दिष्ट पथ पर root के रूप में लिखता है। किसी भी चरण में किसी उपयोगकर्ता इंटरैक्शन की आवश्यकता नहीं होती
इसके बाद, स्क्रिप्ट सत्यापित करेगी कि फ़ाइल root के रूप में बनाई गई थी, जिससे कमज़ोरी का प्रदर्शन होता है।
Dallas Dubs द्वारा स्वतंत्र रूप से खोजा गया; Apple द्वारा Aaron Grattafiori - NVIDIA AI Red Team, XBreach.ai, तथा Nosebeard Labs के Andreas Jaegersberger और Ro Achterberg को भी श्रेय दिया गया है