CVE-2026-23950
node-tar में macOS APFS पर यूनिकोड लिगेचर टकराव के माध्यम से पाथ आरक्षण में रेस कंडीशन
- प्रकाशित
- 20 जन॰ 2026
- अद्यतन
- 1 सित॰ 2026
- सीएनए असाइन करना
- GitHub_M
- साक्ष्य देखे गए
- 25 अग॰ 2026
प्राथमिक सीवीएसएस
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:Lकम · अगले 30 दिन
- प्रतिशत
- 17.7%
- मॉडल दिनांक
- 21 सित॰ 2026
ईपीएसएस एक सांख्यिकीय अनुमान है, कोई निश्चितता या प्रभाव का माप नहीं। इसे सीवीएसएस, केईवी स्थिति, एक्सपोज़र और अपने वातावरण के साथ मिलाएं।
सारांश
# node-tar, Node.js के लिए एक Tar, में संस्करण 7.5.3 तक एक रेस कंडीशन भेद्यता है। यह `path-reservations` प्रणाली में यूनिकोड पथ टकरावों के अधूरे हैंडलिंग के कारण है। केस-असंवेदनशील या सामान्यीकरण-असंवेदनशील फाइल सिस्टम (जैसे macOS APFS, जिसमें इसका परीक्षण किया गया है) पर, लाइब्रेरी टकराने वाले पथों (जैसे `ß` और `ss`) को लॉक करने में विफल रहती है, जिससे उन्हें समानांतर रूप से संसाधित किया जा सकता है। यह लाइब्रेरी के आंतरिक समवर्ती सुरक्षा उपायों को दरकिनार करता है और रेस कंडीशन के माध्यम से सिमलिंक पॉइज़निंग हमलों की अनुमति देता है। लाइब्रेरी एक `PathReservations` प्रणाली का उपयोग करती है ताकि यह सुनिश्चित किया जा सके कि समान पथ के लिए मेटाडेटा जाँच और फाइल संचालन क्रमबद्ध हों। यह रेस कंडीशन को रोकता है जहाँ एक प्रविष्टि दूसरे को समवर्ती रूप से नष्ट कर सकती है। यह एक रेस कंडीशन है जो मनमाना फाइल अधिलेखन (Arbitrary File Overwrite) को सक्षम बनाती है। यह भेद्यता macOS (APFS/HFS+) पर node-tar का उपयोग करने वाले उपयोगकर्ताओं और सिस्टम को प्रभावित करती है। `NFD` यूनिकोड सामान्यीकरण का उपयोग करने के कारण (जिसमें `ß` और `ss` अलग हैं), टकराने वाले पथ उन फाइल सिस्टम के अंतर्गत अपना क्रम ठीक से संरक्षित नहीं करते हैं जो यूनिकोड सामान्यीकरण को अनदेखा करते हैं (जैसे APFS (जिसमें `ß` `ss` के साथ इनोड टकराव का कारण बनता है))। यह एक हमलावर को एक दुर्भावनापूर्ण tar संग्रह के भीतर टकराने वाले फाइलनामों का उपयोग करके आंतरिक समानांतरीकरण लॉक (`PathReservations`) को दरकिनार करने में सक्षम बनाता है। संस्करण 7.5.4 में पैच `path-reservations.js` को लक्षित फाइल सिस्टम के व्यवहार (जैसे `NFKD`) से मेल खाने वाले सामान्यीकरण रूप का उपयोग करने के लिए अपडेट करता है, जिसके बाद पहले `toLocaleLowerCase('en')` और फिर `toLocaleUpperCase('en')` लागू किया जाता है। एक वर्कअराउंड के रूप में, जो उपयोगकर्ता तुरंत अपग्रेड नहीं कर सकते हैं, और जो प्रोग्रामेटिक रूप से मनमाना tarball डेटा निकालने के लिए `node-tar` का उपयोग कर रहे हैं, उन्हें सभी `SymbolicLink` प्रविष्टियों को फ़िल्टर करना चाहिए (जैसा कि npm करता है) ताकि इस फाइल सिस्टम प्रविष्टि नाम टकराव मुद्दे के माध्यम से मनमाना फाइल लेखन से बचाव किया जा सके।
स्रोत
1जिम्मेदारीपूर्ण उपयोग
भेद्यता जानकारी का उपयोग केवल उन प्रणालियों पर करें जिनके मालिक आप हैं या परीक्षण के लिए अधिकृत हैं। किटप्लॉइट सार्वजनिक अनुसंधान मेटाडेटा से लिंक करता है और शोषण कोड या दुर्भावनापूर्ण पेलोड को संग्रहीत नहीं करता है।