use-after-free
19pwnable.twFood Store
Con trỏ next trỏ đến Recipe tiếp theo ko đc init khi tạo Recipe mới, có thể bị lợi dụng để trỏ về chunk đã free, dẫn đến UAF, tạo chunk overlap.
pwnable.twBreak Out
Không xoá reference sau khi free, gây UAF và chunk overlap; Không kiểm tra con trỏ next trỏ đến object hợp lệ trong linked list.
pwnable.twGhost Party
Vi phạm Rule Of Three trong C++ do thiếu copy constructor, gây double free sau khi pass by value; Gán raw pointer vào thành viên class, pointer được free ngay khi out of scope, gây UAF.
pwnable.twBounty Program β
Không kiểm tra NULL trước khi sử dụng strtok().
pwnable.twBounty Program α
Không kiểm tra NULL trước khi sử dụng strtok().
pwnable.twRe-alloc Revenge
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.
pwnable.twCAOV
Chương trình C++ vi phạm cơ chế return by value của SYSV ABI, dẫn đến lời gọi destructor trên dữ liệu trên stack trước đó được attacker kiểm soát.
pwnable.twHeap Paradise
pwnable.twSecret Of My Heart
Chương trình đặt null byte sau input của user không cẩn thận, gây 1 null byte overflow, ghi đè vào size của chunk liền sau, attacker có thể gây chunks overlap từ đó.
pwnable.twSecret Garden
pwnable.twRe-alloc
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.
pwnable.twhacknote
0xL4ugh CTF V5Alice
Vẫn giữ reference sau khi free, dẫn đến use-after-free.
BtS 2025HexDumper
Chương trình tin rằng count > 0 khi dùng Duff's device để copy dữ liệu, nhưng attacker có thể đưa count = 0 qua input không được validate, dẫn đến buffer overflow 8 byte trên heap.
WannaGame Championship 2025oop
Chương trình tin rằng việc Person trong Note được copy tạo ra một object độc lập, tuy nhiên trên thực tế, shallow copy được thực hiện, dẫn đến có 2 Person object cùng có description trỏ đến một vùng nhớ -> use-after-free.
VCS Passport 2024PWN2
Chương trình tin rằng chỉ cần node tại index không phải null thì có nghĩa là hợp lệ, tuy nhiên trên thực tế attacker có thể free node mà không set null, dẫn đến use-after-free.
CSCV 2025 Jeopardy FinalCalc
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.
ASCIS Final 2024BugBounty
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.
picoCTF 2023Horsetrack
use after free - dangling pointer.