
CVE-2025-69419 के लिए न्यूनतम प्रूफ-ऑफ-कॉन्सेप्ट रिप्रोड्यूसर, जो OpenSSL के PKCS12_get_friendlyname() में हीप बफर ओवरफ्लो को ट्रिगर करता है, जो एक क्राफ्टेड BMPString द्वारा प्रेरित है। यह रिग्रेशन टेस्टिंग और सुरक्षा अनुसंधान के लिए अभिप्रेत है।
इस रिपॉजिटरी में CVE-2025-69419 के लिए एक न्यूनतम प्रूफ-ऑफ-कॉन्सेप्ट रिप्रोड्यूसर है, जो OpenSSL के संवेदनशील संस्करणों को प्रभावित करता है।
PoC विशेष रूप से तैयार किए गए BMPString friendlyName को प्रोसेस करते समय PKCS12_get_friendlyname() में रिपोर्ट किए गए हीप आउट-ऑफ-बाउंड्स राइट को प्रदर्शित करता है।
इस परियोजना का उद्देश्य डेवलपर्स और सुरक्षा शोधकर्ताओं के लिए एक सरल रिग्रेशन टेस्ट प्रदान करना है।
यह PoC एक्सप्लॉइटेशन तकनीकों को लागू नहीं करता और केवल AddressSanitizer द्वारा पता लगाए गए मेमोरी करप्शन को पुन: उत्पन्न करने के लिए है।
सार्वजनिक सलाह के अनुसार, यह कमजोरी UTF-16 (BMPString) से UTF-8 रूपांतरण के दौरान होती है:
PKCS12_get_friendlyname()OPENSSL_uni2utf8()एक दूषित BMPString जिसमें तीन-बाइट UTF-8 अनुक्रम की आवश्यकता वाला एक वर्ण होता है, आवंटित बफ़र से पहले एक-बाइट हीप राइट का परिणाम देता है।
build.sh को संपादित करें और अपने OpenSSL बिल्ड का पथ सेट करें।
फिर चलाएँ:
./build.sh
./run.sh
एक संवेदनशील ASan बिल्ड पर अपेक्षित परिणाम:
ERROR: AddressSanitizer: heap-buffer-overflow
WRITE of size 1
स्टैक ट्रेस में शामिल होना चाहिए:
OPENSSL_uni2utf8PKCS12_get_friendlynameAddressSanitizer के बिना एप्लिकेशन निष्पादन जारी रख सकता है क्योंकि करप्शन में हीप आवंटन से ठीक पहले एक एकल-बाइट राइट होता है। ASan विश्वसनीय रूप से आउट-ऑफ-बाउंड्स एक्सेस का पता लगाता है और करप्शन के बिंदु पर प्रक्रिया को समाप्त कर देता है।