
CVE-2026-14628 पथ ट्रैवर्सल भेद्यता का शैक्षिक पुनरुत्पादन, जिसमें कमजोर और सुरक्षित कोड उदाहरण, फिक्स स्पष्टीकरण, और CWE-22 के अध्ययन के लिए चलाने योग्य डेमो शामिल हैं।
पथ ट्रैवर्सल (CWE-22) कमजोरी वर्ग का एक न्यूनतम, चलने योग्य प्रदर्शन, हाल ही में खोजे गए CVE-2026-14628 को एक वास्तविक दुनिया के संदर्भ बिंदु के रूप में उपयोग करते हुए।
CVE-2026-14628 'NousResearch/hermes-agent' (< 2026.5.16) को प्रभावित करता है।
gateway/platforms/base.py में extract_media फ़ंक्शन बिना सत्यापन के आने वाले वेबहुक पेलोड से एक फ़ाइलसिस्टम पथ बनाता है, जिससे एक दूरस्थ, अप्रमाणित हमलावर इच्छित मीडिया निर्देशिका के बाहर की फ़ाइलों को पढ़ सकता है।
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:Nhermes-agent कोडबेस को लक्षित या शोषित नहीं करता है। इसके बजाय, यह कमजोरी के सटीक पैटर्न को एक छोटे, आत्म-निहित उदाहरण में पुन: उत्पन्न करता है ताकि दोष और उसके सुधार का अध्ययन करना और अन्य कोड की समीक्षा करते समय संदर्भ के रूप में पुन: उपयोग करना आसान हो।| फ़ाइल | उद्देश्य |
|---|---|
vulnerable_example.py | दोषपूर्ण तर्क को पुन: उत्पन्न करता है: एक पथ को भोले-भाले स्ट्रिंग संयोजन द्वारा बनाता है, कोई सत्यापन नहीं |
secure_example.py | स्थिर संस्करण: सत्यापित करता है कि हल किया गया निरपेक्ष पथ इच्छित रूट निर्देशिका के भीतर रहता है |
python3 vulnerable_example.py
आउटपुट "हमलावर" को इच्छित media_storage/ निर्देशिका के बाहर रहने वाली एक फ़ाइल (secret_outside_media_root.txt) को सफलतापूर्वक पढ़ते हुए दिखाता है, जो ../secret_outside_media_root.txt जैसे इनपुट का उपयोग करता है।
python3 secure_example.py
वही दुर्भावनापूर्ण इनपुट एक स्पष्ट PathTraversalError के साथ अस्वीकार कर दिया जाता है।
secure_example.py में दो पूरक बचाव लागू किए गए हैं:
.. या पथ विभाजक वाले फ़ाइलनामों को फ़ाइलसिस्टम को छूने से पहले ही अस्वीकार कर दिया जाता है (तेजी से विफल, वैध कॉलर्स के लिए स्पष्ट त्रुटि)।candidate_path = os.path.abspath(os.path.join(MEDIA_ROOT, filename))
if not candidate_path.startswith(MEDIA_ROOT + os.sep):
raise PathTraversalError(...)
पथ ट्रैवर्सल सबसे आम और सबसे अधिक टालने योग्य कमजोरी वर्गों में से एक है, उन सॉफ़्टवेयर में जो फ़ाइल अपलोड, डाउनलोड, या किसी भी उपयोगकर्ता-नियंत्रित फ़ाइलनाम को संभालते हैं — वेबहुक हैंडलर, मीडिया प्रोसेसर, लॉग व्यूअर, टेम्पलेट इंजन, और फ़ाइल-सर्विंग API बार-बार लक्ष्य होते हैं। सुधार सस्ता है (कुछ पंक्तियाँ); इसे छोड़ने की लागत मनमानी फ़ाइल प्रकटीकरण है, और बदतर मामलों में (जब लेखन पहुंच के साथ संयुक्त) रिमोट कोड निष्पादन।
यह परियोजना केवल शैक्षिक उद्देश्यों के लिए है। यह एक ज्ञात कमजोरी वर्ग का एक सामान्य पुनरुत्पादन है, न कि किसी विशिष्ट जीवित या अपैच किए गए सॉफ़्टवेयर के खिलाफ कोई कार्यशील शोषण। इन तकनीकों का उपयोग उन सिस्टमों के खिलाफ न करें जिनके आप स्वामी नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट प्राधिकरण नहीं है।