cbcvebase.
CVE-2019-1121
published 2019-07-15

CVE-2019-1121: A remote code execution vulnerability exists in the way that DirectWrite handles objects in memory, aka 'DirectWrite Remote Code Execution Vulnerability'. This…

PriorityP265high8.8CVSS 3.0
AVNACLPRNUIRSUCHIHAH
EXPLOIT
EPSS
16.94%
96.7th percentile
A remote code execution vulnerability exists in the way that DirectWrite handles objects in memory, aka 'DirectWrite Remote Code Execution Vulnerability'. This CVE ID is unique from CVE-2019-1117, CVE-2019-1118, CVE-2019-1119, CVE-2019-1120, CVE-2019-1122, CVE-2019-1123, CVE-2019-1124, CVE-2019-1127, CVE-2019-1128.

Affected

36 ranges· showing 25
VendorProductVersion rangeFixed in
microsoftwindows
microsoftwindows
microsoftwindows
microsoftwindows
microsoftwindows
microsoftwindows
microsoftwindows
microsoftwindows
microsoftwindows
microsoftwindows_10
microsoftwindows_10
microsoftwindows_10
microsoftwindows_10
microsoftwindows_10_version_1903_for_32-bit_systems
microsoftwindows_10_version_1903_for_arm64-based_systems
microsoftwindows_10_version_1903_for_x64-based_systems
microsoftwindows_server
microsoftwindows_server
microsoftwindows_server
microsoftwindows_server_2016
microsoftwindows_server_2016
msrcwindows_10_version_1709_for_32-bit_systems
msrcwindows_10_version_1709_for_arm64-based_systems
msrcwindows_10_version_1709_for_x64-based_systems
msrcwindows_10_version_1803_for_32-bit_systems

Detection & IOCsextracted from sources · hover to see the quote

filenamepoc.otf
  • Trigger path: specially crafted OpenType variable font embedded in a webpage, triggered when the user prints via Microsoft Edge (to PDF, XPS, or physical/virtual printer), reaching dwrite!AdobeCFF2Snapshot via the Direct2D printing interface.
  • Call chain to monitor: d2d1!dxc::TextConvertor::InstanceFontResources → dwrite!DWriteFactory::CreateInstancedStream / dwrite!DWriteFontFace::CreateInstancedStream → dwrite!AdobeCFF2Snapshot. Presence of this call chain during font processing of an OTF file is indicative of exploitation attempt.
  • Crash/exploitation indicator in dwrite.dll: heap-buffer-overflow in cfrBegFont at cffread.c:2796 — access to h->fdicts.array[info->iFD] where iFD exceeds FDArray bounds. Monitor for access violations or heap corruption in dwrite.dll during font rendering/printing.
  • ·The Direct2D printing interface is required to trigger the vulnerable code path; simply rendering the font on screen is insufficient. The attack requires user interaction (initiating a print action).
  • ·The FDArray count is capped at 256 by AFDKO (fatal error if exceeded), but no lower-bound check exists (count < 1). The iFD field is an unsigned char (0–255) with no validation against actual FDArray size, meaning any iFD value >= FDArray.count triggers out-of-bounds access.

CVSS provenance

nvdv3.08.8HIGHCVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
nvdv2.09.3CRITICALAV:N/AC:M/Au:N/C:C/I:C/A:C
vendor_msrc7.8HIGH
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.