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

Memory Safety / Linux Kernel SLUB

Interaktiver Heap Use-After-Free (UAF) Visualisierer

Interaktives Speichermodell: Hängende Zeiger nach kfree(), Freelist-Reallokation und Funktionszeiger-Übernahme im Linux-Kernel.

💡 Einfache Erklärung (ELI5)

Stellen Sie sich vor, Sie checken aus Hotelzimmer 304 aus, geben die Karte ab, behalten aber heimlich einen Nachschlüssel. Das Hotel vergibt Zimmer 304 an einen neuen Gast. Nachts öffnen Sie das Zimmer mit dem Nachschlüssel. Dieser Nachschlüssel ist ein hängender Zeiger (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);
    }
}
← Interaktive Schwachstellen-Simulatoren CVE-2024-1086 Linux Netfilter Teardown →