Skip to main content

libfvde CVE-2026-116729

| EUVDEUVD-2026-110477 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-26 VulnCheck GHSA-2f27-2cwc-rp26
4.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Deliver crafted FileVault 2 volume to victim
  2. Exploit
    Victim opens volume via libfvde_volume_open()
  3. Execution
    Unbounded strlen on non-NUL-terminated XML plist in type 0x001a
  4. Impact
    Heap 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.

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

libfvde 0 ≤20260923

Affected Packages

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

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

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

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.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/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
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Low
niche libyal forensic/DFIR library for parsing FileVault 2 volumes
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 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· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

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

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.

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