Skip to main content

libpff EUVDEUVD-2026-101226

| CVE-2026-110598 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-14 VulnCheck GHSA-9f2v-576g-7mp5
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 PST/OST/PAB with decreasing MV offsets
  2. Delivery
    Deliver file to victim pipeline
  3. Exploit
    Victim parses file with libpff/pypff
  4. Execution
    Integer underflow in get_multi_value()
  5. Persist
    Heap out-of-bounds read
  6. Impact
    Crash and leak adjacent heap memory

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

Requires the victim to open or process an attacker-crafted PST, OST, or PAB file using libpff (or its bindings pypff / the pffexport tool); the file must contain multi-value property entries of type PT_MV_STRING8, PT_MV_UNICODE, or PT_MV_BINARY whose stored offsets are non-monotonic (decreasing), which drives the integer underflow in libpff_record_entry_get_multi_value(). Per the CVSS vector this is a LOCAL vector (AV:L) with required passive user interaction (UI:P) and no authentication (PR:N), so exploitation is limited by the need to deliver a malicious file and have it parsed - it is not remote or zero-click. Realistic exposure is highest where untrusted PST/OST/PAB files are ingested automatically (DFIR, e-discovery, mail migration); the impact is bounded to a crash (DoS) plus disclosure of adjacent heap memory, not integrity compromise or code execution.

Impact

This is a moderate-severity, file-parsing memory-safety flaw whose real-world risk is bounded by its delivery model rather than its technical novelty. The supplied CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:H) tells a consistent story: exploitation is LOCAL and requires passive user interaction (a victim must open or process an attacker-supplied file), so there is no network-facing, zero-click exposure. No EPSS score and no CISA KEV entry were provided, and there is no KEV or POC flag in the input, so under the precision rules this is treated as 'no public exploit identified at time of analysis' - although a detailed third-party technical writeup (hackmd) and the exact vulnerable source lines are publicly referenced, which materially lowers the effort to reproduce. The impact mix is telling and internally consistent: VA:H (reliable crash / denial of service of libpff, pypff, or pffexport) with only VC:L (disclosure of adjacent heap memory, not full read primitive) and VI:N (no integrity impact), matching CWE-125 (out-of-bounds read) rather than a code-execution write primitive. Net: this is a genuine but lower-priority issue for most organizations - a crash-and-leak bug in a forensics/mail-parsing library, not a mass-exploitable RCE. It becomes meaningfully more important for operators who auto-ingest untrusted PST/OST/PAB files (e-discovery, DFIR, mail-migration pipelines), where attacker-controlled input reaches the parser automatically.

Exploit ScenarioDerived

An attacker crafts a malicious PST, OST, or PAB file whose multi-value property entries (PT_MV_STRING8, PT_MV_UNICODE, or PT_MV_BINARY) use decreasing, non-monotonic offsets, then delivers it to a victim (e.g., as a mailbox export submitted to a forensics or e-discovery pipeline). When the victim processes the file with libpff, pypff, or pffexport, the integer underflow in libpff_record_entry_get_multi_value() triggers a heap out-of-bounds read, crashing the tool and potentially leaking adjacent heap memory. No public exploit is flagged in the input, but a public technical writeup and the exact vulnerable code are referenced, lowering reproduction effort.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 14, 2026

Heap out-of-bounds reads in libpff through 20260926 allow attackers to crash applications (denial of service) and disclose adjacent heap memory by delivering crafted PST, OST, or PAB files that contain multi-value properties with non-monotonic offsets. Exploitation requires the victim to open or process the malicious file with libpff, the pypff bindings, or the pffexport tool; the flaw is local (AV:L) with passive user interaction (UI:P) and no authentication required (PR:N). No public exploit code was identified at time of analysis, and the impact is bounded to denial of service and information disclosure-not code execution, integrity compromise, or remote exploitation.

RemediationAI

No vendor-released patch was identified at time of analysis. Until an update is available, avoid processing untrusted or unverified PST, OST, and PAB files with libpff, pypff, or pffexport. For automated ingestion pipelines (e.g., DFIR, e-discovery, mail migration), run parsing in a sandboxed, low-privilege environment or container to contain the crash and heap disclosure, though note that adjacent heap memory from the same process may still be exposed. Alternatively, validate or sanitize input files to reject those containing multi-value properties with non-monotonic offsets, or use a different parser that is not affected; both approaches have trade-offs, as file validation can be bypassed and switching parsers may lose compatibility or fidelity. Because exploitation requires the user to open a malicious file (AV:L, UI:P), user awareness training and email attachment scanning can reduce risk. Monitor the libyal project and VulnCheck advisory (https://www.vulncheck.com/advisories/libyal-libpff-through-20260926-heap-out-of-bounds-read-via-libpff-record-entry-get-multi-value) for a fixed release.

Affected VersionsENISA

libpff 0 ≤20260926

Affected Packages

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

libpff is an open-source library from libyal for parsing Microsoft Outlook Personal Folders (PST), Offline Storage (OST), and Personal Address Book (PAB) files. The flaw is an integer underflow (CWE-125, out-of-bounds read) in libpff_record_entry_get_multi_value(), which computes the size of multi-value properties (PT_MV_STRING8, PT_MV_UNICODE, PT_MV_BINARY) by subtracting an offset from a running total. If the stored offsets are non-monotonic-each subsequent offset is smaller than the previous-the subtraction wraps around, producing an oversized or negative length that is then used as a read length, causing a heap out-of-bounds read. The affected code paths are in libpff_record_entry.c (lines 2825-2874) and libpff_multi_value.c (lines 207-271) at commit 03545511ab7a7a609e50ec715bdd3985c3be71c5. The issue affects the core libpff library as well as its Python bindings (pypff) and the pffexport command-line tool. According to the CPE string cpe:2.3:a:libyal:libpff:*:*:*:*:*:*:*:*, all versions of libpff up to and including 20260926 are affected. The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N) confirms the local, no-authentication, passive-user-interaction profile and the limited confidentiality plus high availability impact.

Know when Libpff 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 6.1 MEDIUM

Local file-parsing flaw needing a victim to process a crafted file (AV:L/UI:R), no auth (PR:N); out-of-bounds read leaks adjacent heap (C:L) and reliably crashes the parser (A:H), with no integrity impact.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/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

DescriptionCVE.org

Libyal libpff through 20260926 contains an integer underflow in libpff_record_entry_get_multi_value() that allows attackers to trigger heap out-of-bounds reads via non-monotonic multi-value offsets. Attackers can craft PST, OST or PAB files with decreasing PT_MV_STRING8, PT_MV_UNICODE or PT_MV_BINARY offsets to crash libpff, pypff or pffexport and expose adjacent heap memory.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Low
niche forensics/mail-parsing library, limited to DFIR and e-discovery tooling
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.2%
Patch available No
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

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