Description
Ghidra versions 9.2 through 12.1.4 contain a heap out-of-bounds read vulnerability in StringManager::getCodepoint when decoding multi-byte UTF-8, UTF-16, or UTF-32 characters without validating remaining buffer length. Attackers can craft malicious binaries containing strings or constant byte stores that end in multi-byte lead units to trigger out-of-bounds reads that crash the decompiler or leak adjacent heap memory into decompiled output.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| NationalSecurityAgency | ghidra | 9.2 – ≤ 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/stringmanage.cc#L324-L410 technical-description
- VulnCheck Advisory: Ghidra 11.2 through 12.1.4 Heap Out-of-Bounds Read via StringManager third-party-advisory