Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDeliver crafted FileVault 2 volume to victim
-
ExploitVictim opens volume via libfvde_volume_open()
-
ExecutionUnbounded strlen on non-NUL-terminated XML plist in type 0x001a
-
ImpactHeap out-of-bounds read past block buffer crashes process
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the attacker to supply a crafted FileVault 2 volume in which the XML plist data embedded in encrypted metadata type 0x001a is NOT NUL-terminated, and requires a victim or application to open that volume with libfvde_volume_open() (CVSS UI:P - passive interaction, i.e. someone must load the malicious image). It is a local attack vector (AV:L), not network-exposed: the library must be fed the hostile input locally, so realistic targets are forensic/DFIR workflows and automated triage tools that ingest untrusted disk images. No authentication is required (PR:N), but the dependence on a victim opening a malicious volume and the limitation to an out-of-bounds read (rated availability-only, VA:L) sharply constrain real-world impact to crashing the parsing process rather than system compromise. |
| Impact | This is a genuinely low-to-medium real-world risk, and the signals are consistent rather than conflicting. The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L) scores 4.8 (Medium) and describes a local-vector, passive-user-interaction flaw whose only rated impact is limited availability (VA:L) - i.e. a crash from an out-of-bounds read, not code execution or confidentiality loss. EPSS is very low (0.13%, 3rd percentile), and the CVE is NOT listed in CISA KEV, so there is no evidence of active exploitation; these two signals agree that mass exploitation is unlikely. The vuln.today Decision label is 'this_month' (not act_now/emergency), which matches a patch-on-normal-cadence posture rather than an emergency. One worth-noting tension: the input Tags include 'Information Disclosure' and the CWE is CWE-125 (out-of-bounds read), yet the vendor CVSS marks confidentiality VC:N and only availability VA:L - so despite the 'read' primitive the rated outcome is a crash, not confirmed data leakage; whether the OOB read can actually exfiltrate heap contents is not established in the sources. Overall this is a high-confidence-but-low-urgency memory-safety bug in a niche forensic library, not a high-CVSS-but-overhyped internet-facing threat. |
| Exploit ScenarioDerived | An attacker crafts a malicious FileVault 2 volume image whose embedded XML plist data in encrypted-metadata type 0x001a is not NUL-terminated, then gets a victim (e.g. a forensic analyst, DFIR tool, or automated triage pipeline) to open it via software built on libfvde. When libfvde_volume_open() parses the metadata, an unbounded strlen reads past the heap block buffer, crashing the process or potentially exposing adjacent heap memory. A public technical write-up describing the bug exists (hackmd analysis plus the libyal issue tracker), but it is not verified as working, weaponized exploit code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
A heap out-of-bounds read in libfvde's FileVault 2 encrypted metadata parser (metadata type 0x001a) can crash the application that opens an attacker-supplied volume, with impact limited to availability of the parsing process rather than data disclosure or code execution. The defect affects libfvde builds through the 20260923 snapshot and is reached when embedded XML plist data in an encrypted metadata block is not NUL-terminated, so libfvde_volume_open() executes an unbounded strlen that walks past the allocated heap block. The published CVSS 4.0 score is 4.8 (an assessed CVSS 3.1 vector of AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L matches the evidence), EPSS is 0.13% at the 3rd percentile, the issue is not listed in CISA KEV and is not confirmed actively exploited, and although a third-party technical write-up is referenced, no verified working exploit code is confirmed; realistic exposure is confined to forensic/DFIR tools and automated triage pipelines that ingest untrusted disk images.
RemediationAI
Vendor patch status is 'available', delivered as upstream commit c2676fe49d0da44d66e7d750e72c57d2670f0b8f (https://github.com/libyal/libfvde/commit/c2676fe49d0da44d66e7d750e72c57d2670f0b8f), which replaces the unbounded narrow_string_length() scan in libfvde_encrypted_metadata_read_type_0x001a() with a loop bounded by xml_plist_data_size and adds a block_data_size - 16 bound check to the type 0x0024 path; an upstream fix is available as a commit, and a tagged released version containing it is not independently confirmed, so rebuild or vendor the library at or after that commit and confirm with distributors which package build includes it, cross-checking https://github.com/libyal/libfvde/issues/70 for project status. If updating cannot happen immediately, the exposure path can be narrowed by only feeding trusted FileVault 2 images to libfvde-based tooling, and by running image-parsing jobs that must accept untrusted volumes inside a disposable, resource-limited process so that a heap over-read terminates only the parser - the trade-off is delayed or manual triage of untrusted evidence and reduced throughput in automated ingest pipelines, and these are compensating steps only, not a substitute for the bounded-length fix.
Affected VersionsENISA
Affected Packages
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
libfvde is part of the libyal family of libraries for reading Apple FileVault 2 full-disk-encrypted volumes, and it is typically embedded in forensic and imaging tools rather than exposed as a standalone service. The affected routine, libfvde_encrypted_metadata_read_type_0x001a() in libfvde/libfvde_encrypted_metadata.c (the vulnerable logic sits around lines 2786-2792 in the 20260923 snapshot), parses an encrypted metadata block of type 0x001a whose payload contains an embedded XML property list. The code measured that payload with narrow_string_length() - a strlen-equivalent - without constraining the scan to the known xml_plist_data_size, so a crafted volume whose plist is not NUL-terminated inside the block causes the scan to run off the end of the heap buffer, which is the CWE-125 out-of-bounds read class. The upstream commit c2676fe49d0da44d66e7d750e72c57d2670f0b8f replaces the unbounded call with a loop that starts at offset 5 and stops at xml_plist_data_size (incrementing the size when a NUL is found) and additionally hardens the sibling type 0x0024 parser by rejecting xml_plist_data_size values larger than block_data_size - 16; the same commit only carries incidental build/Python-detection changes. Because the flaw is a read past a heap allocation reached while parsing a mounted image, the confirmed consequence is a crash or parser abort, not memory corruption that could be steered toward code execution.
Know when Libfvde 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
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Attacker only feeds a malicious volume locally (AV:L) that a user must open (UI:R), no auth (PR:N); the OOB read causes a crash, so A:L with C:N/I:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
libfvde through 20260923 contains a heap out-of-bounds read vulnerability in libfvde_encrypted_metadata_read_type_0x001a() caused by an unbounded strlen on embedded XML plist data. Attackers can supply a crafted FileVault 2 volume with non-NUL-terminated plist data, causing libfvde_volume_open() to read past the heap block buffer.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-110477
GHSA-2f27-2cwc-rp26
NVD
CVE.org
EPSS
Exploit-DB