
This is a proof-of-concept demonstrating CVE-2020-8158, a critical prototype pollution vulnerability in TypeORM versions < 0.2.25.
यह CVE-2020-8158 का एक प्रूफ-ऑफ-कॉन्सेप्ट है, जो TypeORM संस्करण < 0.2.25 में एक गंभीर प्रोटोटाइप प्रदूषण भेद्यता है।
हमलावर निम्न कार्य कर सकते हैं:
भेद्यता TypeORM द्वारा डेटाबेस क्वेरी परिणामों को संसाधित करते समय ऑब्जेक्ट डीसीरियलाइज़ेशन के हैंडलिंग में मौजूद है। लाइब्रेरी __proto__, constructor, और prototype जैसी प्रोटोटाइप-प्रदूषण कुंजियों को सैनिटाइज़ किए बिना उपयोगकर्ता-नियंत्रित डेटा को ऑब्जेक्ट्स में अनुचित रूप से मर्ज करती है।
समस्या एंटिटी हाइड्रेशन/डीसीरियलाइज़ेशन प्रक्रिया में है जहाँ TypeORM बिना उचित सत्यापन के कच्चे क्वेरी परिणामों से एंटिटी ऑब्जेक्ट्स को पुनरावृत्त रूप से गुणों को असाइन करता है।
vulnerable-app.ts - भेद्य TypeORM अनुप्रयोग (संस्करण < 0.2.25)exploit.ts - प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइटpatched-app.ts - पैच किया गया संस्करण (संस्करण >= 0.2.25)package.json - निर्भरताएँविस्तृत सेटअप और शोषण निर्देशों के लिए SETUP.md देखें।