CVE-2026-49496: NSA Ghidra heap-use-after-free in SleighBuilder::generatePointerAdd

CVE-2026-49496 · Severity: medium · CVSS 6.1 · Published 2026-06-10

Ghidra is a software reverse engineering suite used to analyze compiled code. A memory safety flaw in its C++ backend allows a specially crafted malicious binary to crash the application or potentially execute unauthorized code when a user attempts to decompile it. This primarily affects third-party tools and services that integrate Ghidra's SLEIGH library for code analysis.

Technologies: National Security Agency Ghidra. Vendors: National Security Agency.

Quick answers

Is CVE-2026-49496 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-49496 being exploited in the wild.
How severe is CVE-2026-49496?
Medium severity, with a CVSS score of 6.1, published 10 June 2026.
Which products and versions are affected?
National Security Agency Ghidra < 12.1.
Is there a fix for CVE-2026-49496?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-49496 attacked?
It is attacked with local access, in a software library.
Am I affected by CVE-2026-49496?
Check whether you run National Security Agency Ghidra at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

A heap-use-after-free vulnerability exists in Ghidra's SLEIGH C++ engine due to iterator invalidation. In SleighBuilder::generatePointerAdd, the code maintains a raw pointer to an element within a std::vector. When PcodeCacher::allocateInstruction calls emplace_back(), the vector may reallocate its internal buffer, rendering the original pointer dangling. Subsequent read/write operations on this pointer result in memory corruption. This is reachable via the public Sleigh::oneInstruction C++ API when processing malicious input. The issue is fixed in version 12.1.

Affected products

  • NSA Ghidra < 12.1

Timeline

  • 2026-05-14: advisory: GitHub Security Advisory published
  • 2026-06-10: disclosed: NVD publication date

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.