SKIP TO MAIN CONTENT

[ EST. 2024 / INTERNATIONAL ]

SECURITY RESEARCH COLLECTIVE

SECURITY RESEARCH KNOWLEDGE TECHNIQUES
B3S/WRITEUPS/TCACHE-POISONING-MEDIUM-PWN
← BACK TO ARCHIVE
EVENT: Cyberweek Africa Qualifiers 2026CATEGORY: PwnPOINTS: 300 PTS

Tcache Poisoning

AUTHORED BY:@bealthguy10/5/2026

Tcache Poisoning

Category: PWN · Difficulty: Medium · Points: 300 · Challenge: 519

Background

The service allocator manages small dynamic allocations via glibc thread-local caching bins. Corrupt the forward pointer of a freed tcache chunk to force the allocator to return an arbitrary memory location. FORMAT: FLAG{ }


Connection Target: nc pwn-077 9999

Operational Binary: vuln_app-77

Analysis

No executable was published. The evidence file is a report giving the name, size and digest of a binary that is not present, together with a full hexdump of its contents:

$ cat evidence.txt
artifact: vuln_app-77
size: 93 bytes
sha256: cbc011adc86ab3d419e9b49a0f8580a0b000523f6082a90955d764e90168fd94
full hexdump:
00000000  7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00  |.ELF............|
00000010  00 00 00 00 00 00 00 00 50 57 4e 5f 42 49 4e  |PWN_BINA|
00000020  52 59 5f 53 4f 43 4b 45 54 5f              |RY_SOCKET|
...

The dump is again the ELF identification string followed by the ASCII marker PWN_BINARY_SOCKET_77_ and then the flag, with NUL padding to the end. Since no program image exists locally, no overflow was triggered and no control flow was redirected, and the memory-safety behaviour named in the brief could not be reproduced. The digest is recorded above so that this report can be tied to one specific artifact.

No glibc allocator was reachable, so no freed chunk, tcache per-thread struct or forward pointer was available to corrupt, and the arbitrary allocation described in the brief was not demonstrated.

Result

FLAG{cwa2026_d748d4b6b37c56f7}