
CVE-2026-23745 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, node-tar में एक पाथ ट्रैवर्सल भेद्यता जो दुर्भावनापूर्ण tar आर्काइव के माध्यम से मनमानी फ़ाइल ओवरराइट की अनुमति देती है।
शोध: Joshua van Rijswijk
CVE-2026-23745 के लिए PoC, node-tar ( <7.5.2) में एक उच्च-गंभीरता वाली पाथ ट्रैवर्सल भेद्यता।
लाइब्रेरी हार्डलिंक और सिमलिंक के linkpath फ़ील्ड में निरपेक्ष पथों को सैनिटाइज़ करने में विफल रहती है। यह दुर्भावनापूर्ण tar अभिलेखों को निष्कर्षण रूट को बायपास करने और होस्ट सिस्टम पर मनमानी फ़ाइलों को अधिलेखित करने की अनुमति देता है, भले ही preservePaths: false सेट हो।
src/unpack.ts में स्थित है। लाइब्रेरी असैनिटाइज़्ड उपयोगकर्ता इनपुट पर path.resolve() का उपयोग करती है:
// बग: path.resolve 'cwd' को अनदेखा करता है यदि दूसरा तर्क निरपेक्ष है
const target = path.resolve(this.cwd, String(entry.linkpath))
यदि कोई हमलावर tar हेडर में एक निरपेक्ष पथ (जैसे, /etc/passwd) प्रदान करता है, तो node-tar इसे निष्कर्षण निर्देशिका के बजाय सिस्टम रूट पर हल करता है।
शामिल poc.js एक दुर्भावनापूर्ण अभिलेख उत्पन्न करता है और स्थानीय secret.txt फ़ाइल को अधिलेखित करने का प्रयास करता है।
कमजोर संस्करण स्थापित करें:
npm install [email protected]
एक्सप्लॉइट जनरेटर चलाएँ:
node poc.js
आउटपुट:
[+] VULN CONFIRMED: Hardlink overwrite successful
Target file content changed to: OVERWRITTEN
v7.5.3 में पैच किया गया। अपडेट रिज़ॉल्यूशन से पहले लिंक लक्ष्यों को सैनिटाइज़ करने के लिए stripAbsolutePath() जोड़ता है।
संदर्भ: