Skip to main content

Dislocker CVE-2026-107635

| EUVDEUVD-2026-95022 MEDIUM
Integer Underflow (CWE-191)
2026-10-08 VulnCheck GHSA-v459-vrm9-x34f
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Craft BitLocker image with undersized VMK/FVEK datum
  2. Delivery
    Deliver image to target user
  3. Exploit
    Victim processes volume with dislocker
  4. Execution
    Integer underflow yields ~4GB payload size
  5. Impact
    Out-of-bounds heap read crashes dislocker

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer underflow checks
Exploitation Conditions

Exploitation requires an attacker to supply a crafted BitLocker volume image in which a VMK or FVEK datum sets datum_size to a value that passes get_header_safe()'s minimal 8-byte check but is smaller than the type-specific AES-CCM header (36 bytes), so the unchecked subtraction in get_vmk()/get_fvek() underflows. Limiting factors that reduce real-world risk: the attack is local (AV:L) - there is no remote or automatic trigger - and it requires user interaction, namely a victim actively running dislocker against the malicious image. No special non-default configuration is needed beyond normal use of dislocker to read/decrypt the attacker-controlled volume, and the impact is confined to crashing the dislocker process (availability only).

Impact

This is a memory-safety defect whose real-world risk is modest despite a CVSS 4.0 base score of 6.8 (medium). The provided CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) makes the limited impact explicit: the only consequence is availability (VA:H) - an out-of-bounds heap READ that crashes the dislocker process - with no confidentiality (VC:N) or integrity (VI:N) impact, i.e. this is a denial-of-service/crash bug, not code execution or key disclosure. The attack vector is Local (AV:L), not network, and requires passive user interaction (UI:P): a victim must run dislocker against an attacker-supplied BitLocker volume image. No EPSS score, SSVC decision data, KEV listing, or public POC was provided in the input, so exploitation-probability signals are absent rather than conflicting. With no CISA KEV entry and no exploit code referenced, there is no public exploit identified at time of analysis. Net assessment: a legitimately-scored but lower-priority issue - a crash-only DoS in a niche forensic tool that an attacker can only trigger by getting a user to process a malicious image. A vendor patch is available, so remediation is simply upgrading past 0.7.3.

Exploit ScenarioDerived

An attacker crafts a malicious BitLocker volume image whose VMK or FVEK datum declares a datum_size smaller than the 36-byte AES-CCM header, then induces a victim - for example a forensic analyst inspecting an untrusted disk image - to open it with dislocker. The undersized datum_size causes an integer underflow when the header size is subtracted, producing a ~4GB length that drives hexdump() to over-read heap memory and crash the process. No public exploit code is referenced in the input, so exploitation is currently theoretical/POC-absent and limited to a local crash.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 08, 2026

Denial of service in Dislocker through 0.7.3 is triggered when the tool parses a crafted BitLocker volume image whose VMK or FVEK datum declares a datum_size smaller than the 36-byte AES-CCM header it must contain, causing an integer underflow that yields a near-4GB payload length and sends hexdump() into an out-of-bounds heap read that crashes the process. Exploitation is local and requires user interaction: a victim must actively point dislocker at the attacker-supplied image, which matches the assessed vector CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H, unauthenticated but victim-driven. Impact is availability only - there is no memory corruption of confidentiality or integrity consequence described, no public exploit identified at time of analysis, and the defect is not listed as confirmed actively exploited (CISA KEV).

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed - the correction is commit 0706462db88efe8df88150e4c3e4332b808f4581 in the Aorimn/dislocker repository, which adds the datum_payload_size() guard in src/metadata/datums.c and datum_size/value_type validation in get_vmk() and get_fvek(); rebuild from that commit or from the first tagged release after 0.7.3, since no exact fixed version number is provided in the available advisory data. Because the flaw is only reachable by feeding the tool a malicious BitLocker image, the most effective compensating control is procedural: never run dislocker against volume images from untrusted or unverified sources, and treat any third-party BitLocker image as potentially hostile before mounting or decrypting it, at the cost of losing the ability to triage suspicious images with this tool. Where untrusted images must be inspected, run dislocker inside an unprivileged sandbox or container with a hard virtual-memory cap and heap-allocator hardening or AddressSanitizer enabled so that the ~4GB over-read aborts the worker instead of exhausting the host - trade-off being that sanitizer builds are slower and the crash still occurs, only contained. Detection-wise, monitor for dislocker processes terminating on SIGSEGV or OOM during image parsing, since the failure mode is a crash rather than data disclosure; disabling the hexdump/printing paths (for example by reducing log verbosity so print_datum_aes_ccm() is not exercised) may reduce but does not eliminate exposure because get_vmk()/get_fvek() perform the underflowing arithmetic before the print step. Details and the patch reference are available in the VulnCheck advisory (https://www.vulncheck.com/advisories/dislocker-through-0.7.3-out-of-bounds-heap-read-via-vmk-fvek-datum-size-underflow) and the upstream commit link.

Affected VersionsENISA

dislocker 0 ≤0.7.3

Affected Packages

euvd dislocker 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

Dislocker is a C/Ruby userspace tool that reads and decrypts Microsoft BitLocker volumes; the volume's metadata is a sequence of typed 'datums' whose generic header carries a 16-bit datum_size field, followed by a type-specific header (36 bytes for AES-CCM datums, the type used for VMK and FVEK keys). The root cause is CWE-191, integer underflow: the parsing helper get_header_safe() only enforces that datum_size is at least 8 bytes, while the type-specific headers are larger, so unchecked expressions such as datum_size - sizeof(datum_aes_ccm_t) in get_vmk() (src/metadata/vmk.c) and get_fvek() (src/metadata/fvek.c) wrap around when datum_size < 36. Because datum_size is uint16_t and the subtraction is performed in a size_t context, the resulting payload length becomes roughly 4GB rather than a small value, and it is passed downstream to decrypt_key() and to the hexdump()/print_datum_aes_ccm() reporting paths, which then read far past the end of the heap buffer. The upstream fix introduces a datum_payload_size() helper in src/metadata/datums.c that returns 0 whenever the announced datum_size does not exceed the type header size, plus explicit guards on datum_size and value_type (bounds-checked against NB_DATUMS_VALUE_TYPES) in get_fvek() and get_vmk(), confirming the vulnerable pattern is the unchecked unsigned subtraction and the unvalidated value_type index. The affected package is tracked as cpe:2.3:a:aorimn:dislocker:*:*:*:*:*:*:*:* with EUVD identifier EUVD-2026-95022 covering dislocker 0 through 0.7.3.

Know when Dislocker 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 (VulnCheck) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 5.5 MEDIUM

Local attacker-supplied image processed by the victim gives AV:L and UI:R with no privileges (PR:N); the bug only crashes the process, so C:N/I:N and A:H.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

Lifecycle Timeline

1
CVSS changed
Oct 16, 2026 - 12:22 NVD
6.8 (MEDIUM) 6.9 (MEDIUM)

DescriptionCVE.org

Dislocker through 0.7.3 contains an integer underflow vulnerability in get_vmk() and get_fvek() that allows attackers to trigger out-of-bounds heap reads via crafted datum sizes. Attackers can supply a malicious BitLocker volume image with a datum_size smaller than the 36-byte AES-CCM header, causing hexdump() to over-read and crash dislocker.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Low
niche open-source BitLocker-reading CLI/FUSE tool, small Linux/macOS footprint
Data Quality
6 sources
Confidence: High

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 Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
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

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

Attack Technique

Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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