
CVE-2015-4843 के लिए डेमो रिपॉजिटरी, जिसमें JVM में प्रकार भ्रम और हीप ओवरफ्लो शोषण शामिल हैं, और aarch64 तथा Morello आर्किटेक्चर पर मेमोरी भ्रष्टाचार प्रदर्शित करने वाले चलने योग्य जावा डेमो हैं।
इस कमजोरी के विवरण पर confluence पर चर्चा की गई है।
यह रिपॉजिटरी कुछ वर्षों तक निष्क्रिय रहने के बाद फिर से उठाया गया है, DisabledSecurityManager कोड पर ध्यान नहीं दिया गया।
यह एक डेमो है जो दिखाता है कि हम dst ऐरे के पहले के क्षेत्र में ओवरफ्लो कर सकते हैं। यह डेमो aarch64 और morello पर काम करता है, हालांकि ओवरफ्लो केवल WIP ब्रांच पर रोका जाता है जहां सीमाएँ कड़ाई से सीमित हैं। यह काफी अच्छा है क्योंकि यह दर्शाता है कि अकेले cheri क्षमताओं का उपयोग करना प्रबंधित रनटाइम के लिए पर्याप्त सुरक्षा प्रदान नहीं करता है, और हमें अपने ढेर को सीमित करने की आवश्यकता है।
यह डेमो दर्शाता है कि ओवरफ्लो का उपयोग करके एक FakeClass oop को RealClass की सरणी में कॉपी करके, हम इसे टाइप कंफ्यूज कर सकते हैं और इसे FakeClass का फंक्शन निष्पादित करवा सकते हैं। यह डेमो केवल aarch64 पर काम करता है, क्योंकि morello पर एक oop एक MemoryAddress नहीं होगा, और हम अब IntBuffer शोषण का उपयोग नहीं कर सकते। जो हमारे पोर्ट के लिए एक दिलचस्प साइड लाभ है।
दोनों ओवरफ्लो और टाइप कंफ्यूजन को jar से तर्क के साथ चलाया जा सकता है:
overflow: OverflowDemo चलाता हैconfusion: TypeConfusionDemo चलाता हैएक उदाहरण है:
./build/bsd-aarch64-template-aarch64-release/jdk/bin/java -Xmx8G -Xms8G -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC -jar /home/slatere/phrack/target/TestOverflow-1.0-SNAPSHOT-jar-with-dependencies.jar confusion
jar को build-phrack.yml का उपयोग करके रिमोट पर उत्पन्न किया जाता है।