Description
Out-of-bounds read vulnerabilities in the pybddisasm Python bindings may disclose adjacent process memory during instruction decoding. The nd_decode function may read up to 15 bytes without checking the actual length of the supplied Python buffer. The nd_decode_ex, nd_decode_ex2, and nd_decode_with_context functions pass the caller-supplied buffer size to the decoder without validating it against the actual length of the Python buffer. Data read beyond the buffer may be exposed through nd_get_instrux_bytes, which returns a fixed-length list of 16 bytes. Exploitation requires an application to invoke the affected APIs with a short buffer or an oversized length and to expose the resulting bytes to an attacker. The pybddisasm package is no longer maintained.
Published: 2026-11-03
Score: 4.8 Medium
EPSS: n/a
KEV: No
Impact: Confidentiality disclosure through out‑of‑bounds reads
Action: Assess impact
AI Analysis

Impact

The pybddisasm package contains several functions that decode binary instructions from a Python buffer. The nd_decode function can read up to 15 bytes from the supplied buffer without verifying that the buffer actually contains that many bytes. Likewise, nd_decode_ex, nd_decode_ex2, and nd_decode_with_context forward the caller‑supplied length to the underlying decoder without validation. When the decoder reads beyond the end of the buffer, the bytes are later returned via nd_get_instrux_bytes as a 16‑byte slice. An attacker who can control the buffer size or the length parameter and can read the returned bytes can obtain data that belongs to adjacent memory, potentially leaking secrets or code. The vulnerability does not automatically lead to arbitrary code execution; it requires an application that uses the affected APIs with a short buffer or an incorrect length and that exposes the decoded bytes to the attacker.

Affected Systems

The vulnerability affects the Bitdefender pybddisasm Python package. The package is no longer maintained and therefore cannot receive a patch. Any Python project that imports pybddisasm and calls the nd_decode family of functions is susceptible if it passes a buffer shorter than the length requested or an oversized length value.

Risk and Exploitability

The CVSS score of 4.8 indicates medium severity, mainly due to the disclosure that can be achieved only when the application exposes the decoder output. The EPSS score is not available and the vulnerability is not listed in CISA KEV, suggesting no widespread exploitation yet. The likely attack path requires direct use of the vulnerable API from a trusted code base; remote attackers would need an application that provides untrusted data to these functions. In the absence of an exploitable path to privilege escalation or remote code execution, the risk is moderate but still requires attention to prevent accidental leakage of sensitive data.

Generated by OpenCVE AI on November 3, 2026 at 10:24 UTC.

Remediation

Vendor Solution

Discontinue use of the unmaintained pybddisasm package. No fixed release will become available..


OpenCVE Recommended Actions

  • Remove or uninstall the pybddisasm package and eliminate its usage from all code paths
  • Replace the package with a maintained disassembly library or implement a custom decoder that validates buffer sizes before accessing memory
  • If removal is not immediately feasible, audit code that calls nd_decode(…); ensure buffer size matches actual data length and do not expose the returned bytes to external users

Generated by OpenCVE AI on November 3, 2026 at 10:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

References
History

Tue, 03 Nov 2026 09:15:00 +0000

Type Values Removed Values Added
Description Out-of-bounds read vulnerabilities in the pybddisasm Python bindings may disclose adjacent process memory during instruction decoding. The nd_decode function may read up to 15 bytes without checking the actual length of the supplied Python buffer. The nd_decode_ex, nd_decode_ex2, and nd_decode_with_context functions pass the caller-supplied buffer size to the decoder without validating it against the actual length of the Python buffer. Data read beyond the buffer may be exposed through nd_get_instrux_bytes, which returns a fixed-length list of 16 bytes. Exploitation requires an application to invoke the affected APIs with a short buffer or an oversized length and to expose the resulting bytes to an attacker. The pybddisasm package is no longer maintained.
Title Out-of-bounds reads during instruction decoding in pybddisasm
Weaknesses CWE-125
References
Metrics cvssV4_0

{'score': 4.8, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Bitdefender

Published:

Updated: 2026-11-03T09:00:36.256Z

Reserved: 2026-10-28T08:25:09.715Z

Link: CVE-2026-118444

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-03T09:17:10.937

Modified: 2026-11-03T09:17:10.937

Link: CVE-2026-118444

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-03T10:30:13Z

Weaknesses