Skip to main content

Overview

This page provides a comprehensive matrix showing which heap exploitation techniques work with which glibc versions. Understanding technique compatibility is essential for:
  • CTF challenge exploitation
  • Vulnerability assessment
  • Exploit development
  • Security research
Always verify the glibc version of your target before selecting an exploitation technique. Using an incompatible technique will result in crashes or malloc errors.

Quick Reference Legend

Complete Technique Compatibility Matrix

Basic Techniques

Basic techniques like first_fit demonstrate allocator behavior and work across all versions. calc_tcache_idx requires tcache support (2.26+).

Fastbin Attacks

Fastbin attacks remain viable across versions but may require adaptations for tcache interaction in 2.27+.
Both overlapping_chunks techniques were patched in glibc 2.29 due to enhanced size consistency checks.

House Techniques

Modern House Techniques (2.26+)

house_of_water and house_of_tangerine are cutting-edge techniques that work around modern protections.

Tcache Attacks

tcache_poisoning requires a heap leak starting from glibc 2.32 due to safe-linking protection.

Bin Attacks

Special Techniques

Version-Specific Adaptations

glibc 2.23 - The “Golden Age”

Why it’s popular:
  • Most techniques work without modification
  • Minimal protections
  • Common in older CTF challenges
  • Good for learning fundamentals
Available Techniques:

glibc 2.27 - tcache Era Begins

Major Change:
  • tcache enabled by default (Ubuntu builds)
  • New attack surface
  • Fastbin behavior changes
New Techniques:
Patched:

glibc 2.29 - The Great Patching

Major Changes:
  • Comprehensive size consistency checks
  • Many classic techniques patched
Patched Techniques:
Still Working:

glibc 2.32 - Safe-Linking

Major Change:
  • Pointer obfuscation in tcache/fastbins
  • Heap leak becomes essential
Impact:
  • tcache_poisoning now requires heap leak
  • All blind tcache attacks impossible
  • New techniques needed
New Techniques:
Adaptation Required:

glibc 2.35+ - Modern Era

Status:
  • Most stable modern version
  • Many techniques updated for compatibility
  • Good target for modern CTF challenges
Working Techniques:

glibc 2.39+ - Cutting Edge

New Techniques:
Status:
  • Actively developed
  • New techniques being researched
  • Some experimental techniques

Practical Selection Guide

For CTF Players

Target Version: glibc 2.23-2.27Recommended Techniques:
  • fastbin_dup
  • house_of_spirit
  • unsorted_bin_attack (< 2.29)
  • house_of_force (< 2.29)
  • poison_null_byte
Learning Path:
  1. Start with first_fit and basic allocator behavior
  2. Practice fastbin attacks
  3. Try house techniques
  4. Attempt unsorted bin exploitation

Quick Version Check

To check the glibc version of a binary:

Testing Technique Compatibility

Test a Technique on Multiple Versions

Verify Technique Availability

Notable CTF Challenges by Version

glibc 2.23 Challenges

  • PlaidCTF 2015 - plaiddb (poison_null_byte)
  • Hitcon 2016 - houseoforange (house_of_orange)
  • Hitcon 2016 - SleepyHolder (fastbin_dup_consolidate)
  • Seccon 2016 - tinypad (house_of_einherjar)

glibc 2.27+ Challenges

  • Hitcon 2019 - one punch man (tcache_stashing_unlink_attack)
  • 0ctf 2018 - heapstorm2 (large_bin_attack)
  • 37c3 Potluck 2023 - Tamagoyaki (house_of_water, safe_link_double_protect)
  • PicoCTF 2024 - high frequency troubles (house_of_tangerine)

Summary Table: Major Protection Milestones

Additional Resources