
CVE-2023-4683 - Test
यह रिपॉजिटरी CVE-2023-4683 के लिए एक आसानी से उपयोग होने वाला POC रखता है। बस इस रिपॉजिटरी को git clone करें और या तो webp-test को निकालें या setup-webp-test.sh चलाएँ।
webp-test में पहले से ही आवश्यक फाइलें हैं (git commit 7ba44f80f3b94fc0138db159afea770ef06532a0 of https://chromium.googlesource.com/webm/libwebp/), और webp_test/examples फ़ोल्डर में विशेष रूप से तैयार किए गए bad.webp और bad.webp.png फाइलें स्थित हैं। इसमें एक गैर-तैयार png फ़ाइल भी है।
setup-webp-test.sh webp की निर्भरताएँ स्थापित करेगा, कमजोर webp स्रोत कोड डाउनलोड करेगा, webp को संकलित करेगा, एक POC इंजेक्टर डाउनलोड करेगा जो बुरी फ़ाइल तैयार करेगा, और फ़ाइल बनाएगा।
उपयोग करने के लिए:
cd webp_test/examples
# Tests OK. Output: Saved file: test.png
./dwebp test.webp -o test.png
# Test FAILS. Output: ==6475==ERROR: AddressSanitizer: heap-buffer-overflow on address...
./dwebp bad.webp -o test.png
./dwebp bad.webp.png -o test.png
इसका मतलब है कि सर्वर इस CVE के प्रति संभावित रूप से कमजोर हैं। एक हमलावर विशेष रूप से तैयार फ़ाइल को सर्वर पर अपलोड कर सकता है, और यदि वह सर्वर libwebp के माध्यम से फ़ाइल को प्रोसेस करता है, तो यह CVE निष्पादित हो जाएगा, चाहे फ़ाइल एक्सटेंशन कुछ भी हो।
मैं निम्नलिखित लोगों को धन्यवाद देना चाहता हूँ:
https://github.com/mistymntncop - https://github.com/mistymntncop/CVE-2023-4863 - इस POC का परीक्षण करने के लिए आवश्यक डेटा वाली फ़ाइल इंजेक्ट करने वाली तैयार फ़ाइल बनाई
Ben Hawkes - https://blog.isosceles.com/the-webp-0day/ - इस CVE का विस्तृत विश्लेषण, साथ ही POC सेट करने के चरण लिखे