Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious winmail.dat with non-terminated compressed RTF
-
DeliveryDeliver file to victim or parsing pipeline
-
ExploitVictim runs ytnefprint / MAPIPrint on file
-
Executionprintf over-reads past heap buffer
-
ImpactCrash 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
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
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
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
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.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
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
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.
The TNEFFillMapi function in lib/ytnef.c in libytnef in ytnef through 1.9.2 does not ensure a nonzero count value before
In ytnef 1.9.3, the SwapWord function in lib/ytnef.c allows remote attackers to cause a denial-of-service (and potential
In ytnef 1.9.3, the TNEFSubjectHandler function in lib/ytnef.c allows remote attackers to cause a denial-of-service (and
An issue was discovered in ytnef before 1.9.2. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitabl
Heap out-of-bounds read in ytnef through 2.1.2 allows unauthenticated local attackers to crash the application and leak
In libytnef in ytnef through 1.9.2, there is a heap-based buffer over-read due to incorrect boundary checking in the SIZ
In ytnef 1.9.2, the TNEFFillMapi function in lib/ytnef.c allows remote attackers to cause a denial of service (memory co
In ytnef 1.9.2, the SwapWord function in lib/ytnef.c allows remote attackers to cause a denial of service (heap-based bu
In ytnef 1.9.2, the MAPIPrint function in lib/ytnef.c allows remote attackers to cause a denial of service (NULL pointer
In ytnef 1.9.2, the DecompressRTF function in lib/ytnef.c allows remote attackers to cause a denial of service (heap-bas
In ytnef 1.9.2, the SwapDWord function in lib/ytnef.c allows remote attackers to cause a denial of service (heap-based b
An issue was discovered in ytnef before 1.9.1. Rated high severity (CVSS 7.8), this vulnerability is no authentication r
EUVD-2026-102273
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB