Description
Ghidra before 12.1 contains a heap-use-after-free vulnerability in the decompiler's HighVariable::merge() function during the variable merging pass. Attackers can trigger this vulnerability by crafting a binary that causes stale pointers in the HighIntersectTest::highedgemap cache to be dereferenced, reading and writing the flags field of freed heap memory when a user opens the binary in Ghidra's decompiler view.
Problem types
Product status
Any version before 12.1
12.1 (custom)
Credits
Apple Security Engineering and Architecture (SEAR)
References
github.com/...ghidra/security/advisories/GHSA-8jqp-qv73-395r
github.com/...ghidra/security/advisories/GHSA-8jqp-qv73-395r (GitHub Security Advisory (GHSA-8jqp-qv73-395r))
www.vulncheck.com/...highvariable-merge-during-decompilation