CVE-2026-118448
MediumCVSS 6.9Summary
A use of uninitialized memory vulnerability in the pybddisasm Python bindings affects nd_to_text. If text conversion fails, including due to invalid parameters, the output buffer may remain uninitialized while still being converted into a Python return value, potentially disclosing residual process memory or crashing the Python process.
Risk Assessment
Residual process memory may leak or the application using the library may crash. The risk occurs only when an application invokes nd_to_text in a way that causes conversion to fail and then uses the result.
Recommendation
Replace pybddisasm with a maintained alternative or restrict its use, as the package is no longer maintained. Applications using nd_to_text should handle conversion failures and avoid using the output after a failure.
Other vulnerabilities in pybddisasm
See all- CVE-2026-118447Medium
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 with uninitialized contents after an unsuccessful decoding operation, and accessing its members may expose residual process memory.
- CVE-2026-118446Medium
A use-after-free vulnerability in the pybddisasm Python bindings affects array-valued members of INSTRUX objects, including ND_OPERAND arrays. These arrays are exposed as Python lists referencing memory owned by the parent INSTRUX object, and retaining an element does not keep the parent allocation alive, so accessing it after the parent is freed accesses freed memory.
- CVE-2026-118445Medium
A use-after-free vulnerability in the pybddisasm Python bindings affects structure-valued members of INSTRUX objects. These members are exposed through Python objects referencing memory owned by the parent INSTRUX object, and a retained reference does not keep the parent allocation alive, so accessing the member after the parent is freed accesses freed memory.
- CVE-2026-118444Medium
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 buffer length, and nd_decode_ex, nd_decode_ex2, and nd_decode_with_context pass the caller-supplied size without validating it against the actual buffer length, potentially exposing data via nd_get_instrux_bytes.
Original NVD description (English source)
A use of uninitialized memory vulnerability in the pybddisasm Python bindings affects nd_to_text. If the underlying text conversion fails, including failures caused by invalid parameters, the output buffer may remain uninitialized while still being converted into a Python return value. This may disclose residual process memory or cause the Python process to crash. Exploitation requires an application to invoke nd_to_text in a way that causes conversion to fail and to return or otherwise use the resulting output. The pybddisasm package is no longer maintained.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

