Description
Ghidra versions through 12.1.4 contain a stack-based out-of-bounds write vulnerability in the decompiler's leftshift128 function when processing negative shift amounts from p-code. Attackers can craft malicious binaries with specific instruction sequences that trigger the overflow when decompiled, corrupting memory and potentially achieving code execution.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| NationalSecurityAgency | ghidra | ≤ 12.1.4 | — |
References
- Patch Commit patch
- https://github.com/NationalSecurityAgency/ghidra product
- https://github.com/NationalSecurityAgency/ghidra/blob/8b6bbb857accdfa20dc5b2f5dea471178c2e9fbc/Ghidra/Features/Decompiler/src/decompile/cpp/multiprecision.cc#L29-L61 technical-description
- https://github.com/NationalSecurityAgency/ghidra/blob/8b6bbb857accdfa20dc5b2f5dea471178c2e9fbc/Ghidra/Features/Decompiler/src/decompile/cpp/ruleaction.cc#L7848-L7878 technical-description
- VulnCheck Advisory: Ghidra through 12.1.4 Stack-based Buffer Overflow via leftshift128 third-party-advisory