
CUPS 2.4.16 में लोकल एडमिन टोकन लीक और file:// आर्बिट्ररी फ़ाइल राइट के माध्यम से लोकल प्रिविलेज एस्केलेशन (CVE-2026-34990)
CUPS 2.4.16 में एक स्थानीय विशेषाधिकार उन्नयन भेद्यता है (जिसे GHSA-c54j-2vqw-wpwp के रूप में भी ट्रैक किया गया है)।
विश्व-लेखन योग्य सॉकेट — /run/cups/cups.sock विश्व-लेखन योग्य है,
जिससे कोई भी स्थानीय उपयोगकर्ता CUPS डेमॉन (जो root के रूप में चल रहा है)
को IPP अनुरोध भेज सकता है।
स्थानीय टोकन लीक — CUPS-Create-Local-Printer का दुरुपयोग करके
device-uri को हमलावर-नियंत्रित IPP सर्वर की ओर इंगित करके Local
प्राधिकरण टोकन लीक किया जा सकता है।
मनमाना फ़ाइल लेखन — लीक हुए टोकन के साथ, एक हमलावर
device-uri=file:///etc/sudoers.d/<user> के साथ एक प्रिंटर बना सकता है,
जिससे CUPS (root के रूप में) डिस्क पर किसी भी पथ पर मनमाना सामग्री लिख सकता है।
# Basic usage
python3 cups_pwn.py --user lowpriv
# Custom sudoers path
python3 cups_pwn.py --user lowpriv --sudoers /etc/sudoers.d/custom
# After success
sudo -i
🧠 यह कैसे काम करता है
text
┌─────────────────────────────────────────────────────────────────┐
│ 1. Start fake IPP server on 127.0.0.1:9189 │
│ 2. Send CUPS-Create-Local-Printer with device-uri=ipp://... │
│ 3. CUPS connects to our fake server → sends Local token │
│ 4. Extract the token │
│ 5. Create printer with device-uri=file:///etc/sudoers.d/... │
│ 6. Print gzip payload with "user ALL=(ALL) NOPASSWD: ALL" │
│ 7. CUPS writes the payload as root │
│ 8. sudo -n id → root │
└─────────────────────────────────────────────────────────────────┘
🛡️ अस्वीकरण
यह टूल केवल अधिकृत सुरक्षा परीक्षण और शैक्षिक उद्देश्यों के लिए
प्रदान किया गया है। इसका उपयोग उन सिस्टमों के विरुद्ध न करें जिनके आप स्वामी
नहीं हैं या जिनका परीक्षण करने की स्पष्ट अनुमति आपके पास नहीं है। इस टूल के
किसी भी दुरुपयोग या क्षति के लिए लेखक जिम्मेदार नहीं है।
📚 संदर्भ
GHSA-c54j-2vqw-wpwp
CVE-2026-34990
CUPS Security Advisories
📄 लाइसेंस
MIT — LICENSE फ़ाइल देखें।
text
### Ficheiro 3: `LICENSE`
```bash
nano LICENSE