flawopen.com/Simulators/Heap Use-After-Free

Memory Safety / Linux Kernel SLUB

इंटरैक्टिव हीप Use-After-Free (UAF) सिम्युलेटर

kfree() के बाद पॉइंटर शून्य न करने से पैदा होने वाले डैंगलिंग पॉइंटर और लिनक्स कर्नेल रूट विशेषाधिकार अधिग्रहण का विज़ुअल सिमुलेशन।

💡 आसान भाषा में व्याख्या (ELI5)

होटल के कमरा 304 से चेक-आउट करने और चाबी रिसेप्शन पर लौटाने के बाद, अपनी जेब में एक डुप्लीकेट चाबी रखने की कल्पना करें। होटल वह कमरा नए अतिथि को दे देता है। रात में आप डुप्लीकेट चाबी से कमरा खोलकर उसका सामान देख लेते हैं! वह डुप्लीकेट चाबी ही डैंगलिंग पॉइंटर (Dangling Pointer) है।

Source Code Diff: Object Lifetime Management

UNPATCHED FLAW: DANGLING POINTER RETENTION WITHOUT ZEROIZATION
// Vulnerable cleanup routine
void release_session(struct session_mgr *mgr) {
    if (mgr->active_session) {
        kfree(mgr->active_session);
        // FLAW: mgr->active_session remains dangling!
    }
}
HARDENED PATCH: ATOMIC NULLIFICATION & MEMZERO
// Hardened cleanup routine
void release_session(struct session_mgr *mgr) {
    struct user_session *sess;
    sess = xchg(&mgr->active_session, NULL);
    if (sess) {
        memzero_explicit(sess, sizeof(*sess));
        kfree(sess);
    }
}
← इंटरैक्टिव भेद्यता सिमुलेटर CVE-2024-1086 Linux Netfilter Teardown →