Dirty Bin Cache: A New Code Injection Poisoning Binary Translation Cache
summary
Claims a new code‑injection method called AOT poisoning that corrupts Rosetta 2 AOT files by modifying an x86_64 binary via mmap without calling msync so the AOT lookup hash (based on timestamps and headers) stays the same; uses the translate/transit tool to produce poisoned .aot files, ad‑hoc signing to keep Mach-O headers identical, and hdiutil-mounted non‑APFS volumes to bypass Apple’s APFS fix. Demo shows TCC screen‑capture bypass and hidden payloads in SIP‑protected locations. Also presents XC cache poisoning on Arm Windows using an XDA/XT translator tool; both PoCs work until platform‑specific mitigations.
AI-written summary · about
chapters (17)
- 0:00Introduction to research
- 1:09Arm-based OS technologies
- 2:38Previous research recap
- 3:40MacOS security model
- 6:03Rosetta 2 internals
- 10:21AOT cache mechanism
- 12:24AOT poisoning technique
- 16:44MacOS demo and limitations
- 18:25Signed executable bypass
- 20:36Bypassing Apple's fix
- 23:15AOT poisoning plus demo
- 24:27TCC bypass and exploits
- 28:22MacOS patch analysis
- 29:33Windows internals analysis
- 32:05Windows cache poisoning
- 34:35Windows demo and mitigation
- 37:48Conclusion and Q&A
related talks
42mBypassing macOS Security and Privacy Mechanisms: From Gatekeeper to System Integrity Protectio
53mUnderstanding TOCTTOU in the Windows Kernel Font Scaler Engine
23mMalicious Management Unit: Why Stopping Cache Attacks in Software is Harder Than You Think
45mAbusing Performance Optimization Weaknesses to Bypass ASLR
58mExploiting Adobe Flash Player In The Era Of Control Flow Guard
24mThe Memory of a Meltdown
39mExploiting Blind Memory Corruption in Cloud Services
39mTOCTOU Attacks Against Secure Boot And BootGuard
