
CVE-2022-33171: TypeORM SQL इंजेक्शन भेद्यता
CVE ID: CVE-2022-33171
उत्पाद: TypeORM
प्रभावित संस्करण: < 0.3.0
भेद्यता प्रकार: SQL Injection
प्रकटीकरण तिथि: 28 जून, 2022
TypeORM संस्करण 0.3.0 से पहले के findOne(id) और findOneOrFail(id) फ़ंक्शन में या तो एक स्ट्रिंग या FindOneOptions ऑब्जेक्ट दिया जा सकता है। जब इस फ़ंक्शन का इनपुट उपयोगकर्ता-नियंत्रित पार्स किया गया JSON ऑब्जेक्ट होता है, तो आईडी स्ट्रिंग के बजाय एक क्राफ्टेड प्रदान करने से SQL इंजेक्शन होता है।
FindOneOptionsभेद्यता निम्नलिखित कारणों से मौजूद है:
findOne() फ़ंक्शन लचीले इनपुट प्रकार (स्ट्रिंग या FindOneOptions ऑब्जेक्ट) स्वीकार करता हैTypeORM रखरखावकर्ताओं ने कहा कि मूल कारण एप्लिकेशन पक्ष पर अपर्याप्त इनपुट सत्यापन है, न कि लाइब्रेरी स्वयं। हालांकि, यह फ़ंक्शन स्पष्ट रूप से उपयोगकर्ता इनपुट स्वीकार करने के लिए डिज़ाइन किया गया है, जिससे यह तर्क रक्षात्मक है कि लाइब्रेरी को इसे सुरक्षित रूप से संभालना चाहिए।
TypeORM 0.3.0 या बाद के संस्करण में अपग्रेड करें, जिसमें इस भेद्यता के लिए सुधार शामिल हैं।