
किसी भी उपयोगकर्ता का पासवर्ड बदलने के लिए CVE-2026-46333 और CVE-2026-31431 का उपयोग करें।
[!चेतावनी] इसका उपयोग केवल उन सिस्टमों पर करें जिनके आप मालिक हैं या जिनका परीक्षण करने की आपको अनुमति है। यह अनुशंसा की जाती है कि यदि आप विफलता की स्थिति में सिस्टम को रीबूट नहीं कर पाएंगे, तो एक रूट शेल खुला रखें, क्योंकि आप रूट के बिना
/etc/shadowके लिए पेज कैश साफ़ नहीं कर पाएंगे।
CVE-2026-46333 और CVE-2026-31431 का उपयोग करके किसी भी उपयोगकर्ता का पासवर्ड बिना कभी रूट बने बदलें।
python passwd.py <username>
आप बिना तर्कों के कमांड चलाकर भी शैडो फ़ाइल में वर्तमान हैश देख सकते हैं।
CopyFail (CVE-2026-31431) और इसी तरह की कमजोरियाँ OS पर किसी भी फ़ाइल में 4 बाइट लिखने की अनुमति देती हैं, जिसे आप पढ़ सकते हैं। इसका सामान्य अर्थ यह है कि आप उन फ़ाइलों को संशोधित नहीं कर सकते जिन्हें आप पढ़ नहीं सकते, जैसे कि PAM नियम या शैडो फ़ाइल। आप CopyFail का उपयोग करके रूट तक बढ़ सकते हैं और उसके बाद अपनी पसंद की कोई भी फ़ाइल बदल सकते हैं (इसके लिए बहुत सारे PoC मौजूद हैं, जिनमें मेरा अपना RootRemover भी शामिल है), लेकिन क्या होगा अगर हम बिना बढ़े अन्य फ़ाइलों को संशोधित करना चाहते हैं?
CopyFail को काम करने के लिए केवल एक फ़ाइल डिस्क्रिप्टर की आवश्यकता होती है। अधिकांश PoC एक फ़ाइल खोलते हैं और उस FD का उपयोग करते हैं, हालांकि हम इसे कहीं और से प्राप्त कर सकते हैं। यहाँ आता है CVE-2026-46333.
CVE-2026-46333 chage या ssh-keysign से रूट-पढ़ने योग्य फ़ाइलों के लिए एक फ़ाइल डिस्क्रिप्टर चुराने में सक्षम है। चूँकि हम /etc/shadow चाहते हैं ताकि हम पासवर्ड बदल सकें, हम chage पर ध्यान केंद्रित करते हैं। pidfd_getfd का उपयोग /etc/shadow के लिए फ़ाइल डिस्क्रिप्टर चुराने के लिए किया जाता है क्योंकि इसके निष्पादन के दौरान एक बिंदु ऐसा होता है जब UID इसे निष्पादित करने वाले उपयोगकर्ता पर सेट हो जाता है (जो pidfd_getfd की अनुमति देता है), लेकिन SUID बिट होने के कारण, यह हमारे उपयोगकर्ता तक नीचे आने से पहले /etc/shadow को रूट के रूप में खोलने में सक्षम था।
यह FD O_RDONLY मोड में है, जिसका अर्थ है केवल-पढ़ने योग्य, हालांकि चूँकि हमारे पास CopyFail है, इससे कोई फर्क नहीं पड़ता, हम लिखने के लिए बढ़ सकते हैं। हम बस FD को CopyFail को पास कर सकते हैं और एक्सप्लॉइट का उपयोग किसी भी अन्य पढ़ने योग्य फ़ाइल की तरह कर सकते हैं।
/etc/shadow के अंत के बहुत करीब है तो यह विफल हो जाता है।passwd का उपयोग करके पासवर्ड फिर से बदलना चाहेंगे।passwd के साथ सेट करने से यह ठीक हो जाता है।