UNKNOWNCVE-2025-7783

form-data, सीमा चुनने के लिए form-data में असुरक्षित रैंडम फ़ंक्शन का उपयोग करता है

प्लेटफ़ॉर्म

nodejs

कॉम्पोनेन्ट

form-data

ठीक किया गया

2.5.4

### सारांश form-data मल्टीपार्ट फॉर्म-एन्कोडेड डेटा के लिए सीमा मान का चयन करने के लिए `Math.random()` का उपयोग करता है। इससे सुरक्षा संबंधी समस्या हो सकती है यदि कोई हमलावर: 1. लक्ष्य एप्लिकेशन में Math.random द्वारा निर्मित अन्य मानों का निरीक्षण कर सकता है, और 2. form-data का उपयोग करके किए गए अनुरोध के एक फ़ील्ड को नियंत्रित कर सकता है क्योंकि Math.random() के मान छद्म-यादृच्छिक और अनुमानित हैं (देखें: https://blog.securityevaluators.com/hacking-the-javascript-lottery-80cc437e3b7f), एक हमलावर जो कुछ अनुक्रमिक मानों का निरीक्षण कर सकता है, PRNG की स्थिति निर्धारित कर सकता है और भविष्य के मानों का अनुमान लगा सकता है, जिसमें form-data के सीमा मान को उत्पन्न करने के लिए उपयोग किए जाने वाले मान भी शामिल हैं। यह हमलावर को एक ऐसा मान तैयार करने की अनुमति देता है जिसमें एक सीमा मान होता है, जिससे वे अनुरोध में अतिरिक्त पैरामीटर इंजेक्ट कर सकते हैं। यह काफी हद तक वही भेद्यता है जो हाल ही में [`undici`](https://hackerone.com/reports/2913312) में [`parrot409`](https://hackerone.com/parrot409?type=user) द्वारा पाई गई थी -- मैं उस शोधकर्ता से संबद्ध नहीं हूं, लेकिन जहां श्रेय देना है, वहां देना चाहता हूं! मेरा PoC काफी हद तक उनके काम पर आधारित है। ### विवरण दोषी यह पंक्ति है: https://github.com/form-data/form-data/blob/426ba9ac440f95d1998dac9a5cd8d738043b048f/l

कैसे ठीक करें

कोई आधिकारिक पैच उपलब्ध नहीं है। वैकल्पिक समाधान खोजें या अपडेट की निगरानी करें।

अपनी निर्भरताओं की स्वचालित निगरानी करें

जब नई कमज़ोरियाँ आपके प्रोजेक्ट को प्रभावित करें तो अलर्ट पाएं।

मुफ़्त शुरू करें