pyLoad: HTTP रीडायरेक्ट के माध्यम से SSRF फ़िल्टर बाईपास (BaseDownloader में अपूर्ण सुधार, CVE-2026-33992 के लिए)
प्लेटफ़ॉर्म
python
कॉम्पोनेन्ट
pyload-ng
## सारांश CVE-2026-33992 (GHSA-m74m-f7cr-432x) के लिए सुधार ने `BaseDownloader.download()` में प्रारंभिक डाउनलोड URL के होस्टनाम की जाँच करने के लिए IP सत्यापन जोड़ा। हालाँकि, pycurl को `FOLLOWLOCATION=1` और `MAXREDIRS=10` के साथ कॉन्फ़िगर किया गया है, जिससे यह स्वचालित रूप से HTTP रीडायरेक्ट का पालन करता है। रीडायरेक्ट लक्ष्यों को SSRF फ़िल्टर के विरुद्ध कभी मान्य नहीं किया जाता है। ADD अनुमति वाला एक प्रमाणित उपयोगकर्ता आंतरिक पते पर रीडायरेक्ट करने वाले URL को सबमिट करके SSRF सुधार को बाईपास कर सकता है। ## मूल कारण `src/pyload/plugins/base/downloader.py:335-341` पर SSRF जाँच केवल प्रारंभिक URL को मान्य करती है: dl_hostname = urllib.parse.urlparse(dl_url).hostname if is_ip_address(dl_hostname) and not is_global_address(dl_hostname): self.fail(...) else: for ip in host_to_ip(dl_hostname): if not is_global_address(ip): self.fail(...) जाँच उत्तीर्ण होने के बाद, `_download()` को कॉल किया जाता है। pycurl को `src/pyload/core/network/http/http_request.py:114-115` पर रीडायरेक्ट का पालन करने के लिए कॉन्फ़िगर किया गया है: self.c.setopt(pycurl.FOLLOWLOCATION, 1) self.c.setopt(pycurl.MAXREDIRS, 10) HTTP में कहीं भी `CURLOPT_REDIR_PROTOCOLS` प्रतिबंध सेट नहीं है। रीडायरेक्ट लक्ष्य
कैसे ठीक करें
कोई आधिकारिक पैच उपलब्ध नहीं है। वैकल्पिक समाधान खोजें या अपडेट की निगरानी करें।
अपनी निर्भरताओं की स्वचालित निगरानी करें
जब नई कमज़ोरियाँ आपके प्रोजेक्ट को प्रभावित करें तो अलर्ट पाएं।
मुफ़्त शुरू करें