
प्रूफ-ऑफ-कॉन्सेप्ट जो yt-dlp के --netrc-cmd विकल्प के माध्यम से मनमाना कमांड इंजेक्शन प्रदर्शित करता है, प्रभावित संस्करणों पर कमांड निष्पादित करने के लिए URL में शेल मेटाकैरेक्टर का शोषण करता है।
--netrc-cmd के माध्यम से मनमाना कमांड इंजेक्शनगंभीरता: उच्च (CVSS 8.8)
प्रभावित सॉफ़्टवेयर: yt-dlp >= 2023.06.21, < 2026.02.21
पैच किया गया: 2026.02.21
परामर्श: GHSA-g3gw-q23r-pgqm
CVE: CVE-2026-26331
yt-dlp का --netrc-cmd कमांड-लाइन विकल्प (या netrc_cmd Python API पैरामीटर) का दुरुपयोग एक दुर्भावनापूर्ण रूप से तैयार किए गए URL के साथ संयोजन करके मनमाना कमांड निष्पादन प्राप्त करने के लिए किया जा सकता है। यह एक हमलावर को उपयोगकर्ता के सिस्टम पर मनमाना शेल कमांड निष्पादित करने की अनुमति देता है।
--netrc-cmd विकल्प उपयोगकर्ताओं को लॉगिन क्रेडेंशियल्स को गतिशील रूप से प्राप्त करने के लिए एक शेल कमांड निष्पादित करने की अनुमति देता है, वैकल्पिक रूप से एक प्लेसहोल्डर को netrc "machine" मान से प्रतिस्थापित करता है। कुछ एक्सट्रैक्टर (जैसे, , , ) वाइल्डकार्ड होस्टनाम की अनुमति देते हैं, जिनमें शेल-विशेष वर्ण हो सकते हैं। चूंकि yt-dlp को का उपयोग करके निष्पादित करता है, एक दुर्भावनापूर्ण URL मनमाना कमांड इंजेक्ट कर सकता है।
{}GetCourseRuIETeachableIETeachableCourseIE--netrc-cmdsubprocess.Popen(shell=True)yt-dlp --netrc-cmd "echo {}" "https://;touch /tmp/pwned;#.getcourse.ru/video"
--netrc-cmd या netrc_cmd का उपयोग करने से बचें।--netrc-cmd में प्लेसहोल्डर ({}) न पास करें।