Skip to main content

ytnef CVE-2026-111146

| EUVDEUVD-2026-102273 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-15 VulnCheck
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 malicious winmail.dat with non-terminated compressed RTF
  2. Delivery
    Deliver file to victim or parsing pipeline
  3. Exploit
    Victim runs ytnefprint / MAPIPrint on file
  4. Execution
    printf over-reads past heap buffer
  5. Impact
    Crash process and leak adjacent heap bytes

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 that a victim or automated workflow invoke ytnefprint (or an application using libytnef's MAPIPrint) on an attacker-supplied winmail.dat whose compressed RTF MAPI property decompresses to data lacking a trailing NUL terminator, so printf runs off the end of the heap allocation. Limiting factors: the attack vector is local file processing (not network-triggered), it requires user interaction or an automated parsing step to open the malicious file, the product is a niche TNEF decoder, and affected versions are ytnef through 2.1.2. The primary realistic outcome is a crash (denial of service) with incidental disclosure of small amounts of adjacent heap memory.

Impact

Signals point to a real but low-urgency issue. The vendor-supplied CVSS 4.0 vector (6.9, Medium) is AV:L/AC:L/PR:N/UI:P, meaning exploitation is local and depends on a victim passively processing an attacker-supplied file rather than a remote, self-propagating attack. Primary impact is availability (VA:H - ytnefprint crashes) with only limited confidentiality exposure (VC:L - adjacent heap bytes leaked), and no integrity impact. Public exploit code exists (VulnCheck advisory plus a hackmd write-up), which raises the practical likelihood of opportunistic use, but there is NO CISA KEV listing and NO EPSS score in the provided data, so there is no evidence of active or widespread exploitation. The local vector and required user interaction make this a targeted/opportunistic DoS-plus-minor-leak rather than a mass-exploitation threat. Net: a genuine vulnerability worth patching in environments that automate winmail.dat parsing, but not an emergency for most organizations. Missing data to note explicitly: EPSS probability is absent, so exploitation likelihood cannot be quantified; no vendor patch version is confirmed (issue #112 appears open), so remediation may require upstream code fixes rather than a version bump.

Exploit ScenarioDerived

An attacker emails or otherwise delivers a crafted winmail.dat (TNEF) file containing a compressed RTF MAPI property whose decompressed output lacks a NUL terminator. When a victim or an automated pipeline runs ytnefprint (or software linking libytnef's MAPIPrint) against the file, printf over-reads past the heap buffer, crashing the process and potentially disclosing adjacent heap bytes. A public proof-of-concept and write-up already exist, lowering the barrier to reproduction.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
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 – Oct 15, 2026

Heap out-of-bounds read in ytnef through 2.1.2 allows an attacker to crash the ytnefprint utility and incidentally leak small amounts of adjacent heap memory by supplying a crafted winmail.dat whose compressed RTF property decompresses to data without a trailing NUL terminator. The flaw sits in MAPIPrint() in lib/ytnef.c and is reachable unauthenticated, but exploitation requires that a victim or an automated workflow open the malicious file, since the attack surface is local file parsing rather than a network service. Publicly available exploit code exists (linked proof-of-concept write-up), and there is no confirmed active exploitation (not in CISA KEV); the dominant realistic outcome is denial of service via crash, with only incidental memory disclosure of limited value.

RemediationAI

No vendor-released patch was identified at time of analysis; the upstream tracking issue https://github.com/Yeraze/ytnef/issues/112 and the VulnCheck advisory https://www.vulncheck.com/advisories/ytnef-through-2.1.2-heap-out-of-bounds-read-via-mapiprint-in-lib-ytnef-c should be monitored for a fixed release, and until one ships, versions through 2.1.2 should be treated as unpatched. The most effective compensating control is to stop feeding untrusted winmail.dat files to ytnefprint or to any application invoking libytnef's MAPIPrint(): quarantine or reject TNEF attachments at the mail gateway and strip winmail.dat, accepting the side effect that legitimate TNEF-formatted mail content is lost. Where TNEF processing cannot be avoided, run ytnefprint inside a sandbox or container with no sensitive data on the heap, minimal filesystem access, and a non-privileged account with core-dump suppression (ulimit -c 0), which limits the crash to a denial-of-service event and blunts the incidental memory disclosure; note this does not fix the bug and adds operational overhead. For integrators who can modify code, patch or wrap the affected MAPIPrint() logic in lib/ytnef.c to allocate and explicitly NUL-terminate the decompressed RTF buffer (or bound the output with a length-aware format such as %.*s) before it reaches printf, then rebuild - a change that must be re-applied on every upgrade. Since exploitation is not network-triggered and requires a user or automated workflow to open the crafted file, user awareness restrictions on opening unsolicited winmail.dat attachments and monitoring for ytnefprint crashes provide additional detection value; the public proof-of-concept at https://hackmd.io/@haind-pwn/ytnef-decompressrtf-oob-read can be used to validate any mitigation.

Affected VersionsENISA

ytnef 0 ≤2.1.2

Affected Packages

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

ytnef is the reference open-source decoder for TNEF (Transport Neutral Encapsulation Format), the Microsoft 'winmail.dat' attachment format used by Outlook and Exchange to carry rich-text bodies, MAPI properties, and attachments. The vulnerable code path is MAPIPrint() in lib/ytnef.c, which handles compressed RTF MAPI properties: the library inflates the compressed RTF stream into a heap buffer and then passes the result to printf-style formatting, relying on the buffer being NUL-terminated. When the decompressed RTF lacks that terminator, the formatting routine reads past the end of the allocation - a classic CWE-125 out-of-bounds read, tracked against references around lines 1449-1458 and 1605-1614 of lib/ytnef.c. Because the over-read is consumed by string formatting rather than a memory-copy primitive, the primitive yields a crash plus a small, unreliable heap-byte disclosure rather than controlled memory corruption; the CPE (cpe:2.3:a:yeraze:ytnef) confirms the upstream Yeraze/ytnef project as the affected component. Note that applications embedding libytnef inherit exposure wherever they invoke MAPIPrint on untrusted input.

Know when Ytnef 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

File must be processed locally by the tool (AV:L) and a user/automated step must open it (UI:R); no auth needed (PR:N); impact is a crash (A:H) with minor heap leak (C:L), no integrity effect.

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

ytnef through 2.1.2 contains a heap out-of-bounds read vulnerability in MAPIPrint() that allows attackers to read past heap allocations by supplying compressed RTF properties. Attackers can deliver a crafted winmail.dat whose decompressed RTF lacks a NUL terminator, causing printf to over-read, crashing ytnefprint and leaking adjacent heap bytes.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Low
niche open-source TNEF decoder CLI/library, limited production footprint
Exploit
POC
Public exploit code exists
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 Yes
EPSS 0.1%
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
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

54
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: +20
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.

More in Ytnef

View all
CVE-2017-9146 HIGH POC
8.8 May 22

The TNEFFillMapi function in lib/ytnef.c in libytnef in ytnef through 1.9.2 does not ensure a nonzero count value before

CVE-2021-3404 HIGH POC
7.8 Mar 04

In ytnef 1.9.3, the SwapWord function in lib/ytnef.c allows remote attackers to cause a denial-of-service (and potential

CVE-2021-3403 HIGH POC
7.8 Mar 04

In ytnef 1.9.3, the TNEFSubjectHandler function in lib/ytnef.c allows remote attackers to cause a denial-of-service (and

CVE-2017-6800 HIGH POC
7.5 Mar 10

An issue was discovered in ytnef before 1.9.2. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitabl

CVE-2026-111145 MEDIUM POC
6.9 Oct 15

Heap out-of-bounds read in ytnef through 2.1.2 allows unauthenticated local attackers to crash the application and leak

CVE-2017-9058 CRITICAL
9.8 May 18

In libytnef in ytnef through 1.9.2, there is a heap-based buffer over-read due to incorrect boundary checking in the SIZ

CVE-2017-9473 MEDIUM POC
5.5 Jun 07

In ytnef 1.9.2, the TNEFFillMapi function in lib/ytnef.c allows remote attackers to cause a denial of service (memory co

CVE-2017-9471 MEDIUM POC
5.5 Jun 07

In ytnef 1.9.2, the SwapWord function in lib/ytnef.c allows remote attackers to cause a denial of service (heap-based bu

CVE-2017-9470 MEDIUM POC
5.5 Jun 07

In ytnef 1.9.2, the MAPIPrint function in lib/ytnef.c allows remote attackers to cause a denial of service (NULL pointer

CVE-2017-9474 MEDIUM POC
5.5 Jun 07

In ytnef 1.9.2, the DecompressRTF function in lib/ytnef.c allows remote attackers to cause a denial of service (heap-bas

CVE-2017-9472 MEDIUM POC
5.5 Jun 07

In ytnef 1.9.2, the SwapDWord function in lib/ytnef.c allows remote attackers to cause a denial of service (heap-based b

CVE-2017-6306 HIGH
7.8 Feb 24

An issue was discovered in ytnef before 1.9.1. Rated high severity (CVSS 7.8), this vulnerability is no authentication r

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