
node-tesseract-ocr के लिए सलाह ⌯⌲ 50 000 साप्ताहिक डाउनलोड
node-tesseract-ocr संस्करण 2.2.1 तक src/index.js में recognize() में OS कमांड इंजेक्शन की अनुमति देता है। यह पैकेज एक शेल कमांड स्ट्रिंग बनाता है और इसे child_process.exec() के साथ निष्पादित करता है। चूंकि इनपुट पथ केवल डबल कोट्स में लपेटा जाता है, एक हमलावर एक क्राफ्टेड फ़ाइल पथ के माध्यम से शेल सिंटैक्स इंजेक्ट कर सकता है।
| उत्पाद | प्रभावित संस्करण | निश्चित संस्करण |
|---|
| node-tesseract-ocr | 2.2.1 तक के सभी संस्करण | 2026-03-24 तक कोई फिक्स उपलब्ध नहीं |
CVE-2026-26832CWE-78 - OS कमांड इंजेक्शन9.8 (गंभीर)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hsrc/index.js, recognize()कमजोर पैटर्न है:
const command = [binary, inputOption, "stdout", ...options].join(" ");
exec(command, ...);
वह कमांड स्ट्रिंग शेल पार्सिंग को विरासत में लेता है। एक दुर्भावनापूर्ण फ़ाइल पथ कोटेड आर्गुमेंट से बाहर निकल सकता है।
जो एप्लिकेशन उपयोगकर्ता द्वारा आपूर्ति की गई छवियों पर OCR चलाते हैं, यदि वे recognize() में अविश्वसनीय पथ पास करते हैं तो होस्ट सिस्टम को कमांड निष्पादन के लिए उजागर कर सकते हैं।
test.jpg"; touch /tmp/pwned; echo "x
लेखन के समय कोई निश्चित npm रिलीज़ उपलब्ध नहीं है।
यदि आप अभी भी इस पैकेज पर निर्भर हैं:
join(" ") के साथ शेल कमांड स्ट्रिंग बनाना बंद करें।execFile() या spawn() का उपयोग करें।