Tag: double-free (7)pwnable.tw > Re-alloc RevengeVuln: Chương trình không kiểm tra cẩn thận sau khi sử dụng realloc, cho phép kẻ tấn công thực hiện use-after-free.tl;dr: Partially overwrite địa chỉ libc, cần bruteforce với xác suất thành công 1/16; Có thể gộp các chunk liền kề nhau trong fastbin và đặt vào unsortedbin bằng cách trigger malloc_consolidate().February 24, 2026 • Hardpwnable.tw > Heap Paradisetl;dr: Chunk overlap, vừa trong unsortedbin, vừa trong fastbin; Partially overwrite ko cần leak libc; Ghi đè flags của stdout thành 0xfbad1800 và _IO_write_base để leak libc.February 20, 2026 • Mediumpwnable.tw > Secret Gardentl;dr: Bớt giả định, nhìn xem dòng code đang thực sự làm gì; Ghi one gadget vào realloc hook, ghi realloc vào malloc hook; hoặc ghi one gadget vào malloc hook và double free để trigger malloc printerr.February 19, 2026 • Easypwnable.tw > Tcache TearVuln: Chương trình ép kiểu không cẩn thận từ int về unsigned, dẫn đến buffer overflow trên heap do có chênh lệch giữa kích thước cấp phát và kích thước thực tế được input.February 8, 2026 • Easypwnable.tw > Re-allocVuln: Chương trình không kiểm tra cẩn thận sau khi sử dụng realloc, cho phép kẻ tấn công thực hiện use-after-free.tl;dr: Hành vi của realloc() phụ thuộc nhiều vào tham số đc đưa vào.February 7, 2026 • MediumCSCV 2025 Jeopardy Final > CalcVuln: Chương trình tin rằng sau khi gặp lỗi và throw exception chia cho 0, Expr con đều đã được cleanup và không còn reference, tuy nhiên tại exception handler, không có code cleanup khiến Expr cha vẫn giữ reference đến Expr con, dẫn dến double-free khi gặp lỗi lần sau.November 17, 2025 • InsaneASCIS Final 2024 > BugBountyVuln: Chương trình tin rằng messages[index] luôn trỏ tới buffer còn sống, nhưng attacker có thể free rồi dùng lại qua cùng index do không set con trỏ về null, dẫn dến use-after-free.October 15, 2025 • Hard