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
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+.
Unlink and Chunk Overlap
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
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
glibc 2.27 - tcache Era Begins
Major Change:- tcache enabled by default (Ubuntu builds)
- New attack surface
- Fastbin behavior changes
glibc 2.29 - The Great Patching
Major Changes:- Comprehensive size consistency checks
- Many classic techniques patched
glibc 2.32 - Safe-Linking
Major Change:- Pointer obfuscation in tcache/fastbins
- Heap leak becomes essential
tcache_poisoningnow requires heap leak- All blind tcache attacks impossible
- New techniques needed
glibc 2.35+ - Modern Era
Status:- Most stable modern version
- Many techniques updated for compatibility
- Good target for modern CTF challenges
glibc 2.39+ - Cutting Edge
New Techniques:- Actively developed
- New techniques being researched
- Some experimental techniques
Practical Selection Guide
For CTF Players
- Easy (2.23-2.27)
- Medium (2.29-2.31)
- Hard (2.32+)
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
- Start with first_fit and basic allocator behavior
- Practice fastbin attacks
- Try house techniques
- 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
- Version Compatibility Guide
- glibc Changelog
- [Getting Started with how2heap/quickstart)
- [Technique Reference/reference/all-techniques)
