Skip to main content

pybddisasm EUVDEUVD-2026-115701

| CVE-2026-118447 MEDIUM
Use of Uninitialized Variable (CWE-457)
2026-11-03 Bitdefender GHSA-qm9j-xr9g-5hqr
4.8
CVSS 4.0 · Vendor: Bitdefender
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain local low-privileged access to app
  2. Delivery
    Supply input causing decode failure
  3. Exploit
    Trigger return of uninitialized INSTRUX
  4. Execution
    App reads uninitialized object members
  5. Impact
    Residual process memory disclosed

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Variable initialization checks
Exploitation Conditions

Exploitation requires a consuming application built on pybddisasm (≤0.3.0) to call one of nd_decode, nd_decode_ex, nd_decode_ex2, or nd_decode_with_context, encounter an unsuccessful decode (including failures from invalid parameters), and then access and expose the members of the returned INSTRUX object whose contents were never initialized. The decisive limiting factor is that the flaw is inert unless the application reads and surfaces that object after a failed decode - a well-written caller that checks the decode status first is unaffected. Further limits: the CVSS vector is local (AV:L) and requires some privilege (PR:L), impact is confined to confidentiality (information disclosure of residual process memory) with no integrity or availability impact, and the package is unmaintained with no fixed version available.

Impact

This is a genuinely low-priority issue despite being a real memory-disclosure bug. All signals point the same direction: the input CVSS 4.0 vector is AV:L (local), AC:L, AT:N, PR:L (requires some privilege/authenticated context) and only VC:L confidentiality impact with no integrity or availability impact, yielding a modest base score of 4.8. The vuln.today decision label is 'monitor', not act_now or emergency. There is no CISA KEV listing and no EPSS score was supplied, so there is no evidence of active or probable exploitation. No exploit or PoC reference appears in the input, so no public exploit is identified. Crucially, exploitation is not self-contained: the flaw only matters if a downstream application reads and exposes the members of an INSTRUX object returned after a FAILED decode, so the consuming application must behave in a specific insecure way. Combined with the fact that pybddisasm is an unmaintained, niche library, this reads as a low-real-risk medium-CVSS issue rather than an urgent threat. No signals conflict here.

Exploit ScenarioDerived

A local, low-privileged user interacts with an application that uses pybddisasm and feeds it input that causes nd_decode/nd_decode_ex/nd_decode_ex2/nd_decode_with_context to fail (e.g. invalid parameters or an undecodable instruction). The application then reads fields of the returned, uninitialized INSTRUX object and surfaces them, leaking residual process memory to the user. No public exploit code or PoC is identified in the available data.

Monitor Track and reassess. Why: Vendor states no customer action required.
No patch listed yet 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Nov 03, 2026

pybddisasm 0.3.0 and earlier can disclose residual process memory to any consuming application that reads an INSTRUX object returned by a failed instruction decode. The four decode entry points leave the returned object uninitialized when decoding fails, including failures caused by invalid parameters, so an application that surfaces those members after a failure may expose leftover heap or stack contents; a caller that checks the decode status first is unaffected. The package is unmaintained with no fixed release, the vector is local and privilege-gated with confidentiality-only impact, and no public exploit has been identified at time of analysis.

RemediationAI

No vendor-released patch or fixed version has been identified at time of analysis: pybddisasm is unmaintained and no corrected release exists for the ≤0.3.0 range. The effective control sits in the consuming application - check the return status of every nd_decode, nd_decode_ex, nd_decode_ex2 and nd_decode_with_context call and never read, serialize, log or otherwise expose members of the returned INSTRUX object after a decoding failure, since a caller that validates status before use is not exposed to the disclosure. That requires a code change in each application embedding the binding and does not repair the library itself. Because no upstream fix is expected, plan migration to a maintained decoder or binding instead of relying on pybddisasm long term. Advisory and package references: https://pypi.org/project/pybddisasm/ and https://nvd.nist.gov/vuln/detail/CVE-2026-118447.

Affected VersionsENISA

pybddisasm 0 ≤0.3.0

Affected Packages

euvd pybddisasm no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

bddisasm is Bitdefender's x86/x86-64 instruction decoder, and pybddisasm is its Python binding, exposing the INSTRUX structure that holds decoded instruction fields. The root cause is CWE-457 (Use of Uninitialized Variable): nd_decode, nd_decode_ex, nd_decode_ex2 and nd_decode_with_context return an INSTRUX object that is never populated when the underlying decode fails, so its members retain whatever data previously occupied that memory. Reading those members from Python can therefore return residual process memory rather than decoded instruction data. Reachability depends entirely on the caller: the flaw is inert unless an application invokes one of these functions, ignores the decode status, and then reads or exposes the object. Both the CVSS 4.0 vector supplied with the record (base 4.8) and the independent CVSS 3.1 assessment score it local (AV:L) with attacker privileges required (PR:L) and confidentiality-only impact (C:L), with no integrity or availability effect, which matches the narrow trigger described in the sources.

Know when Pybddisasm gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Bitdefender) PRIMARY 4.8 MEDIUM
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
vuln.today AI 3.3 LOW

Local, consumer-application-dependent trigger with some privilege required (AV:L, PR:L, AC:L); impact limited to partial memory disclosure, so C:L with I:N/A:N.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Bitdefender).

CVSS VectorVendor: Bitdefender

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.1%
Top 99% exploitable
Prevalence
Rare
obscure, no-longer-maintained Python disassembler binding, tiny footprint
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available No
Active threat No
Deciding rule
Vendor states no customer action required
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

24
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy