CVE-2026-89321 in OpenVSX
सारांश
द्वारा VulDB • 14/09/2026
प्रकाशन (Publishing) VSIX के संपीड़ित आकार को सीमित करता है (ovsx.publishing.max-content-size, डिफ़ॉल्ट रूप से 512 MB), लेकिन खोलने पर एक प्रविष्टि कितनी बड़ी हो जाती है, इसके लिए कोई सीमा नहीं थी।
/vscode/unpkg/{namespace}/{extension}/{version}/{path} के पहले अनुरोध पर, WebResourceService ने ZipFile.getInputStream() का उपयोग करके प्रविष्टि को खोला और अपीढ़ित (decompressed) स्ट्रीम को Files.copy() को पास किया, जो लिखे गए बाइट्स की गिनती किए बिना स्ट्रीम के अंत तक चलता रहा। परिणाम java.io.tmpdir के तहत कैश कर दिया गया था, और वह प्रविष्टि संख्या (150) द्वारा निकाला जाता था, आकार द्वारा नहीं, इसलिए इसने डिस्क उपयोग पर कोई सीमा निर्धारित नहीं की थी।
केवल अपने स्वयं के नामस्थान तक पहुँच वाले एक प्रकाशक अतः एक छोटा, उच्च रूप से संपीड़नीय VSIX अपलोड कर सकता था और सर्वर को तत्काल फ़ाइल सिस्टम पर बहुत बड़ी फ़ाइलें लिखने का कारण बन सकता था — विभिन्न फ़ाइलों या संस्करणों के साथ दोहराते हुए, क्योंकि एक बार फिर किए गए अनुरोध को कैश से सर्व किया जाता है।
प्रभाव देखा गया: तत्काल (temp) फ़ाइल सिस्टम भर गया; उन फ़ाइलों के लिए अनुरोध जो पहले से ही कैश में नहीं थे, 500 No space left on device के साथ लौटे; एक विफल निष्कर्षण ने एक आंशिक कैश फ़ाइल छोड़ी जिसने उस पथ पर बाद की कोशिशों को रोका; प्रकाशन Failed to read extension file के साथ विफल हो गया। मेटाडेटा और पहले से ही कैश की गई फ़ाइलें काम करती रहीं, और सर्वर बंद नहीं हुआ।
निष्कर्षण (extraction) को ट्रिगर करने के लिए प्रमाणीकरण (authentication) की आवश्यकता नहीं है — केवल अपलोड के लिए होती है।
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.