---
id: "CVE-2026-118447"
kind: "vulnerability"
aliases: ["CVE-2026-118447"]
title: "pybddisasm: uninitialized memory after failed decode may leak process memory"
severity: "medium"
cvss: 4.8
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["package", "pybddisasm", "python"]
not_affected_if: ["decode-result-not-exposed", "no-pybddisasm-usage"]
published_at: "2026-11-03T09:17:11+00:00"
first_seen_at: "2026-11-03T09:19:50+00:00"
updated_at: "2026-11-03T09:20:30+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-118447", "first_seen_at": "2026-11-03T09:19:50+00:00"}]
---

# pybddisasm: uninitialized memory after failed decode may leak process memory

The pybddisasm Python bindings can return an instruction object with uninitialized contents when decoding fails. An application that reads and exposes that object after a failed decode can leak residual process memory.

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

## How to check

- Check whether `pybddisasm` is installed in any environment, for example with `pip show pybddisasm`.
- Look for calls to `nd_decode`, `nd_decode_ex`, `nd_decode_ex2` or `nd_decode_with_context` whose returned object is logged, returned to users or otherwise exposed after a failed decode.

## Timeline

- 2026-11-03T09:19:50+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-118447

## From the sources

A use of uninitialized memory vulnerability in the pybddisasm Python bindings may disclose process memory when instruction decoding fails. The nd_decode, nd_decode_ex, nd_decode_ex2, and nd_decode_with_context functions may return an INSTRUX object whose contents have not been initialized after an unsuccessful decoding operation, including failures caused by invalid parameters. Accessing members of the returned object may expose residual process memory. Exploitation requires an application to access and expose the returned object contents after a decoding failure. The pybddisasm package is no longer maintained.

---

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