~/talk

"Attacking the TCache in GLibc 2.32"

Talkat BSides Canberra 2021 · 2021-04-09..04-10· [security]
links:none on file
slides:none on file

Demonstrates a practical bypass of glibc 2.32’s safe‑linking by corrupting in‑heap tcache metadata to make malloc return allocator-controlled addresses. Uses double‑free / use‑after‑free and house‑of‑spirit primitives to free the tcash management struct (0x290), place libc addresses or the main‑arena unsorted_bin root into tcache list heads, leak libc, overwrite free_hook or top to overlap stack and achieve code execution. Works in lab with those app bugs and a libc heap leak; requires specific heap layout and list‑count (≤7) constraints. tcache list head poisoning and safe-linking bypass.

AI-written summary · about

  1. 0:00Introduction
  2. 0:12Memory management basics
  3. 2:37Inside malloc and chunks
  4. 6:31Thread cache and arenas
  5. 9:17Historical heap attacks
  6. 12:36Tcache exploitation techniques
  7. 15:47Early tcache mitigations
  8. 18:35Safe linking mechanism
  9. 24:43Bypassing safe linking
  10. 26:57Hook exploitation
  11. 30:02Controlling list heads
  12. 32:33Advanced tcache attacks
  13. 36:21Data and metadata confusion
  14. 37:30House of spirit attacks
  15. 38:53Gaining libc leaks
  16. 43:24Conclusion and future work
  17. 45:17Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.