
CVE-2024-48990 के लिए तकनीकी विश्लेषण और प्रूफ-ऑफ-कॉन्सेप्ट, needrestart में एक विशेषाधिकार वृद्धि भेद्यता जो स्थानीय हमलावरों को PYTHONPATH हेरफेर के माध्यम से रूट के रूप में मनमाना कोड निष्पादित करने की अनुमति देती है।
यह निर्धारित करने के लिए कि क्या किसी Python प्रक्रिया (एक प्रक्रिया जो Python इंटरप्रेटर चला रही है) को पुनरारंभ करने की आवश्यकता है, needrestart इस प्रक्रिया के /proc/pid/environ से PYTHONPATH एनवायरनमेंट वेरिएबल निकालता है (पंक्ति 193 पर), यदि यह मौजूद है तो इस एनवायरनमेंट वेरिएबल को सेट करता है (पंक्ति 196 पर), और Python ("$ptable->{exec}" at line 203) को "-" आर्गुमेंट के साथ निष्पादित करता है ताकि stdin से एक छोटी, हार्ड-कोडेड स्क्रिप्ट पढ़ी जा सके (पंक्ति 204 पर):
दुर्भाग्य से, यदि कोई Python प्रक्रिया किसी स्थानीय हमलावर की है, तो needrestart Python को (पंक्ति 203 पर) हमलावर-नियंत्रित PYTHONPATH एनवायरनमेंट वेरिएबल के साथ निष्पादित करता है, जो हमलावर को root के रूप में मनमाना कोड निष्पादित करने की अनुमति देता है (भले ही needrestart की हार्ड-कोडेड Python स्क्रिप्ट पंक्ति 204 पर बिल्कुल भी हमलावर-नियंत्रित न हो)। यह CVE-2024-48990 है।