---
id: "CVE-2026-116012"
kind: "vulnerability"
aliases: ["CVE-2026-116012"]
title: "Ghidra: crafted packed stream truncates lengths, crashes decompiler or injects attributes"
severity: "low"
cvss: 3.6
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["ghidra", "package", "poc-public", "reverse-engineering", "security-research"]
not_affected_if: ["ghidra-12.2-or-later", "only-trusted-files"]
published_at: "2026-10-24T12:16:57+00:00"
first_seen_at: "2026-10-24T12:47:58+00:00"
updated_at: "2026-10-25T04:45:22+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-116012", "first_seen_at": "2026-10-24T12:47:58+00:00"}, {"source": "github-poc", "url": "https://github.com/D7EAD/CVE-2026-116012", "first_seen_at": "2026-10-24T19:23:49+00:00"}]
---

# Ghidra: crafted packed stream truncates lengths, crashes decompiler or injects attributes

Ghidra before 12.2 stores 64-bit string lengths in 32-bit variables inside PackedDecode::skipAttribute and skipAttributeRemaining in marshal.cc. A crafted packed stream, such as a malicious .sla file, can inject attributes into the decompiler's input or crash the decompiler process.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Run `ghidra --version` or check the Ghidra install folder for the version number, and see whether it is below `12.2`
- Check whether the team opens untrusted .sla or packed-format files in Ghidra

## Fix

- Upgrade Ghidra to `12.2` or later
- Only open .sla and packed-format files from trusted sources until upgraded

## Timeline

- 2026-10-24T12:47:58+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-116012
- 2026-10-24T19:23:49+00:00 github-poc https://github.com/D7EAD/CVE-2026-116012

## Documents

- [poc] D7EAD/CVE-2026-116012 https://github.com/D7EAD/CVE-2026-116012

## From the sources

Ghidra before 12.2 contains a numeric truncation vulnerability in PackedDecode::skipAttribute and skipAttributeRemaining in marshal.cc that stores 64-bit string lengths in 32-bit variables. Attackers can supply a crafted packed stream, such as a malicious .sla file, to inject attributes into the decompiler's input or crash the decompiler process.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
