{"id":76330,"date":"2017-07-26T10:39:48","date_gmt":"2017-07-26T17:39:48","guid":{"rendered":"https:\/\/securingtomorrow.mcafee.com\/?p=76330"},"modified":"2025-05-27T20:25:36","modified_gmt":"2025-05-28T03:25:36","slug":"analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution","status":"publish","type":"post","link":"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/","title":{"rendered":"Analyzing CVE-2017-0190: WMF Flaws Can Lead to Data Theft, Code Execution"},"content":{"rendered":"<p>CVE-2017-0190 is a recently patched vulnerability related to Windows metafiles (WMFs), a portable image format mainly used by 16-bit Windows applications. Recently we have seen an increase in the number of vulnerabilities related to WMFs and EMFs (enhanced metafiles) in the GDI32 library.<\/p>\n<p>Most often, these vulnerabilities lead to sensitive information disclosure from the process heap. They can also open the door to arbitrary code execution if the attacker uses them in combination with other vulnerabilities. Because WMFs are used in popular applications such as Microsoft Office, Paint, and Internet Explorer, the vulnerability has a huge attack surface.<\/p>\n<p>CVE-2017-0190 describes a vulnerability in a maliciously crafted WMF that contains a record calling the function SetDIBitsToDevice() with malformed parameters from the GDI32 library, and can lead to information disclosure.<\/p>\n<h2><strong>Overview <\/strong><\/h2>\n<p>A WMF stores a list of function calls that are issued to the Windows Graphics Device Interface (GDI) layer to display an image on screen.<\/p>\n<p><a href=\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-76334 size-medium\" src=\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-1-140x300.png\" alt=\"\" width=\"140\" height=\"300\" srcset=\"https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-1-140x300.png 140w, https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-1-234x500.png 234w, https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-1.png 247w\" sizes=\"auto, (max-width: 140px) 100vw, 140px\" \/><\/a><\/p>\n<p><em>Figure 1: Format of Window metafile.<\/em><\/p>\n<p>The format consists of a header and an array of metafile records, which store the function ID and the parameters required for it. The GDI32 PlayMetaFileRecord function parses each record and invokes the function corresponding to the function ID in the metafile record.<\/p>\n<p>The minimum size for a metafile is 18 bytes. A file of this size contains the header and no records. The format of the file header:<\/p>\n<p><a href=\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-76335 size-medium\" src=\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-2-300x164.png\" alt=\"\" width=\"300\" height=\"164\" srcset=\"https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-2-300x164.png 300w, https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-2-768x421.png 768w, https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-2-912x500.png 912w, https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-2.png 925w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><em>Figure 2: Format of a metafile header.<\/em><\/p>\n<p>Each record is of variable size, depending on the function call and number of parameters passed. The format of each record:<\/p>\n<p><a href=\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-76336 size-medium\" src=\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-3-300x117.png\" alt=\"\" width=\"300\" height=\"117\" srcset=\"https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-3-300x117.png 300w, https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-3.png 676w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><em>Figure 3: Format of a metafile record.<\/em><\/p>\n<p>The final record in a WMF should be an end-of-file record. This comprises three words, and its function ID is zero.<\/p>\n<h2><strong>The vulnerability <\/strong><\/h2>\n<p>A malformed WMF is parsed by PlayMetafileRecord(), which calls the SetDIBitsToDevice() function based on the function ID field of the record. SetDIBitsToDevice() belongs to the GDI32 library and calling it with improper parameters can cause an out-of-bounds-read vulnerability.<\/p>\n<p>SetDIBitsToDevice()paints a device independent bitmap (DIB) onto a device. This involves copying color data from a DIB to the memory device context (MDC). An out-of-bounds read happens when memcpy is used to copy DIB data to the MDC of the malformed metafile.<\/p>\n<p>The record that calls SetDIBitsToDevice():<\/p>\n<p><a href=\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-4-e1500933534797.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-76337 size-medium\" src=\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-4-300x77.png\" alt=\"\" width=\"300\" height=\"77\" \/><\/a><\/p>\n<p><em>Figure 4: A malformed WMF record.<\/em><\/p>\n<p>When the malformed WMF executes, the parameters are converted to arguments for SetDIBitsToDevice():<\/p>\n<p><a href=\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-76338 size-full\" src=\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-5.png\" alt=\"\" width=\"1198\" height=\"448\" srcset=\"https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-5.png 1198w, https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-5-300x112.png 300w, https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-5-768x287.png 768w, https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-5-1024x383.png 1024w\" sizes=\"auto, (max-width: 1198px) 100vw, 1198px\" \/><\/a><\/p>\n<p><em>Figure 5: Parameters for the function SetDIBitsToDevice().<\/em><\/p>\n<p>A DIB contains color and dimension information. A DIB structure consists of a bitmap header followed by the color data. Windows supports two types of bitmap headers, bitmapinfoheader and bitmapcoreheader; the DIB structure is called bitmapinfo or bitmapcoreinfo.<\/p>\n<p>In Figure 5, lpvBits points to the color data and lpbmi points to the bitmap header. The structure of the bitmapinfoheader and bitmapcoreheader:<\/p>\n<p><a href=\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-6.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-76339 size-full\" src=\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-6.png\" alt=\"\" width=\"1139\" height=\"437\" srcset=\"https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-6.png 1139w, https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-6-300x115.png 300w, https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-6-768x295.png 768w, https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-6-1024x393.png 1024w\" sizes=\"auto, (max-width: 1139px) 100vw, 1139px\" \/><\/a><\/p>\n<p><em>Figure 6: Bitmap header structures.<\/em><\/p>\n<p>The minimum value for the bcSize field of bitmapcoreheader is 0xc and that of bitmapinfoheader is 0x28 (header size).<\/p>\n<p>For CVE-2017-0190, the value of the bcSize field in the DIB record for a malformed WMF is 0xc, as shown in Figure 4, which confirms that the structure is a bitmapcoreheader.<\/p>\n<p><a href=\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-7.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-76340 size-medium\" src=\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-7-300x139.png\" alt=\"\" width=\"300\" height=\"139\" srcset=\"https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-7-300x139.png 300w, https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-7-768x355.png 768w, https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-7.png 835w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><em>Figure 7: BitmapCoreInfo from the record.<\/em><\/p>\n<p>The function PlayMetafileRecord() calculates the size of the DIB data in the metafile record. This is 0xC for the malformed record. The size calculated by PlayMetafileRecord() is passed as a parameter to the CheckAndGetBitmapBits() function, which compares it with 0x28. If the value is less than 0x28, CheckAndGetBitmapBits() parses it as the bitmapcoreinfo structure. However, there is no color data following the header. So the source for copying the data in SetDIBitsToDevice() contains null.<\/p>\n<p>The destination is an MDC structure. The PvNewRecord() function creates the MDC buffer. The size of the buffer is calculated from the length field of the cScanLines(0xffff) field of the record, shown in Figure 5. It then calls memcpy to copy color data from the source to the destination.<\/p>\n<p>The length parameter for memcpy is calculated from the cScanLines parameter passed to SetDIBitsToDevice, which is 0xffff. This results in an out-of-bounds read.<\/p>\n<p><a href=\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-8.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-76341 size-full\" src=\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-8.png\" alt=\"\" width=\"641\" height=\"439\" srcset=\"https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-8.png 641w, https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-8-300x205.png 300w\" sizes=\"auto, (max-width: 641px) 100vw, 641px\" \/><\/a><\/p>\n<p><em>Figure 8: Crash in memcpy.<\/em><\/p>\n<h2><strong>Windows patch<\/strong><\/h2>\n<p>Microsoft fixed CVE-2017-0190 in the May patch.<\/p>\n<p><a href=\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-9.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-76342 size-full\" src=\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-9.png\" alt=\"\" width=\"975\" height=\"793\" srcset=\"https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-9.png 975w, https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-9-300x244.png 300w, https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-9-768x625.png 768w, https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-9-615x500.png 615w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/a><\/p>\n<p><em>Figure 9: Comparing the code with patch diff.<\/em><\/p>\n<p>As we explained, in the unpatched version CheckAndGetBitmapBits()compares the size of the DIB calculated by PlayMetafileRecord() with 0x28. If the value is less than 0x28, it parses the DIB as bitmapcoreinfo structure.<\/p>\n<p>But in the patched version, if the value is less than 0x28, CheckAndGetBitmapBits() clears the return value, that is, sets it to zero and exits. Thus, PlayMetafileRecord() moves to the next record, leaving behind the malformed record.<\/p>\n<h2><strong>Conclusion<\/strong><\/h2>\n<p>Our analysis of the patch shows that Windows no longer uses the bitmapcoreheader structure for a DIB in a metafile record, thereby preventing many vulnerabilities associated with it.<\/p>\n<p>A WMF can be used with many applications that use the gdi32 library. This increases the risk because the attack surface is large. All Windows users should keep their systems patched with the latest updates.<\/p>\n<p>McAfee blocks this attack with signature ID: 0x45206000.<\/p>\n<h2><strong>References<\/strong><\/h2>\n<ul>\n<li><a href=\"https:\/\/www.symantec.com\/avcenter\/reference\/inside.the.windows.meta.file.format.pdf\">https:\/\/www.symantec.com\/avcenter\/reference\/inside.the.windows.meta.file.format.pdf<\/a><\/li>\n<li><a href=\"https:\/\/portal.msrc.microsoft.com\/en-US\/security-guidance\/advisory\/CVE-2017-0190\">https:\/\/portal.msrc.microsoft.com\/en-US\/security-guidance\/advisory\/CVE-2017-0190<\/a><\/li>\n<li><a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/dd183562(v=vs.85).aspx\">https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/dd183562(v=vs.85).aspx<\/a><\/li>\n<li><a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/dd145202(v=vs.85).aspx\">https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/dd145202(v=vs.85).aspx<\/a><\/li>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/BMP_file_format#cite_note-os2bmp-2\">https:\/\/en.wikipedia.org\/wiki\/BMP_file_format#cite_note-os2bmp-2<\/a><\/li>\n<li><a href=\"http:\/\/www.herdsoft.com\/ti\/davincie\/davp3xo2.htm\">http:\/\/www.herdsoft.com\/ti\/davincie\/davp3xo2.htm<\/a><\/li>\n<li><a href=\"http:\/\/www.wikiwand.com\/en\/BMP_file_format\">http:\/\/www.wikiwand.com\/en\/BMP_file_format<\/a><\/li>\n<li><a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/dd183373(v=vs.85).aspx\">https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/dd183373(v=vs.85).aspx<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>CVE-2017-0190 is a recently patched vulnerability related to Windows metafiles (WMFs), a portable image format mainly used by 16-bit Windows&#8230;<\/p>\n","protected":false},"author":910,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[442],"tags":[1814,4452,338,4827],"coauthors":[5002],"class_list":["post-76330","post","type-post","status-publish","format-standard","hentry","category-mcafee-labs","tag-computer-security","tag-cybersecurity","tag-endpoint-protection","tag-vulnerability"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Analyzing CVE-2017-0190: WMF Flaws Can Lead to Data Theft, Code Execution | McAfee Blog<\/title>\n<meta name=\"description\" content=\"CVE-2017-0190 is a recently patched vulnerability related to Windows metafiles (WMFs), a portable image format mainly used by 16-bit Windows applications.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Analyzing CVE-2017-0190: WMF Flaws Can Lead to Data Theft, Code Execution | McAfee Blog\" \/>\n<meta property=\"og:description\" content=\"CVE-2017-0190 is a recently patched vulnerability related to Windows metafiles (WMFs), a portable image format mainly used by 16-bit Windows applications.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/\" \/>\n<meta property=\"og:site_name\" content=\"McAfee Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/McAfee\/\" \/>\n<meta property=\"article:published_time\" content=\"2017-07-26T17:39:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-28T03:25:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"247\" \/>\n\t<meta property=\"og:image:height\" content=\"528\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Bosco Sebastian\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@McAfee\" \/>\n<meta name=\"twitter:site\" content=\"@McAfee\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Bosco Sebastian\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/\"},\"author\":{\"name\":\"Bosco Sebastian\",\"@id\":\"https:\/\/www.mcafee.com\/blogs\/#\/schema\/person\/fa34211f16b6ccfeba39d2c969693ccb\"},\"headline\":\"Analyzing CVE-2017-0190: WMF Flaws Can Lead to Data Theft, Code Execution\",\"datePublished\":\"2017-07-26T17:39:48+00:00\",\"dateModified\":\"2025-05-28T03:25:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/\"},\"wordCount\":923,\"publisher\":{\"@id\":\"https:\/\/www.mcafee.com\/blogs\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-1-140x300.png\",\"keywords\":[\"computer security\",\"cybersecurity\",\"endpoint protection\",\"vulnerability\"],\"articleSection\":[\"McAfee Labs\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/\",\"url\":\"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/\",\"name\":\"Analyzing CVE-2017-0190: WMF Flaws Can Lead to Data Theft, Code Execution | McAfee Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.mcafee.com\/blogs\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-1-140x300.png\",\"datePublished\":\"2017-07-26T17:39:48+00:00\",\"dateModified\":\"2025-05-28T03:25:36+00:00\",\"description\":\"CVE-2017-0190 is a recently patched vulnerability related to Windows metafiles (WMFs), a portable image format mainly used by 16-bit Windows applications.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/#primaryimage\",\"url\":\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-1-140x300.png\",\"contentUrl\":\"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-1-140x300.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\/\/www.mcafee.com\/blogs\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Other Blogs\",\"item\":\"https:\/\/www.mcafee.com\/blogs\/other-blogs\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"McAfee Labs\",\"item\":\"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Analyzing CVE-2017-0190: WMF Flaws Can Lead to Data Theft, Code Execution\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.mcafee.com\/blogs\/#website\",\"url\":\"https:\/\/www.mcafee.com\/blogs\/\",\"name\":\"McAfee Blog\",\"description\":\"Internet Security News\",\"publisher\":{\"@id\":\"https:\/\/www.mcafee.com\/blogs\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.mcafee.com\/blogs\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.mcafee.com\/blogs\/#organization\",\"name\":\"McAfee\",\"url\":\"https:\/\/www.mcafee.com\/blogs\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.mcafee.com\/blogs\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2023\/02\/mcafee-logo.png\",\"contentUrl\":\"https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2023\/02\/mcafee-logo.png\",\"width\":1286,\"height\":336,\"caption\":\"McAfee\"},\"image\":{\"@id\":\"https:\/\/www.mcafee.com\/blogs\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/McAfee\/\",\"https:\/\/x.com\/McAfee\",\"https:\/\/www.linkedin.com\/company\/mcafee\/\",\"https:\/\/www.youtube.com\/McAfee\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.mcafee.com\/blogs\/#\/schema\/person\/fa34211f16b6ccfeba39d2c969693ccb\",\"name\":\"Bosco Sebastian\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.mcafee.com\/blogs\/#\/schema\/person\/image\/c800a46fa279d3908ffe8833409fe6a4\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1a99a3fe5e99387ff53f1d11dd03e0dc?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1a99a3fe5e99387ff53f1d11dd03e0dc?s=96&d=mm&r=g\",\"caption\":\"Bosco Sebastian\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/bosco-sebastian-74732636\/\"],\"url\":\"https:\/\/www.mcafee.com\/blogs\/author\/bosco-sebastian\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Analyzing CVE-2017-0190: WMF Flaws Can Lead to Data Theft, Code Execution | McAfee Blog","description":"CVE-2017-0190 is a recently patched vulnerability related to Windows metafiles (WMFs), a portable image format mainly used by 16-bit Windows applications.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Analyzing CVE-2017-0190: WMF Flaws Can Lead to Data Theft, Code Execution | McAfee Blog","og_description":"CVE-2017-0190 is a recently patched vulnerability related to Windows metafiles (WMFs), a portable image format mainly used by 16-bit Windows applications.","og_url":"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/","og_site_name":"McAfee Blog","article_publisher":"https:\/\/www.facebook.com\/McAfee\/","article_published_time":"2017-07-26T17:39:48+00:00","article_modified_time":"2025-05-28T03:25:36+00:00","og_image":[{"width":247,"height":528,"url":"https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-1.png","type":"image\/png"}],"author":"Bosco Sebastian","twitter_card":"summary_large_image","twitter_creator":"@McAfee","twitter_site":"@McAfee","twitter_misc":{"Written by":"Bosco Sebastian","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/#article","isPartOf":{"@id":"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/"},"author":{"name":"Bosco Sebastian","@id":"https:\/\/www.mcafee.com\/blogs\/#\/schema\/person\/fa34211f16b6ccfeba39d2c969693ccb"},"headline":"Analyzing CVE-2017-0190: WMF Flaws Can Lead to Data Theft, Code Execution","datePublished":"2017-07-26T17:39:48+00:00","dateModified":"2025-05-28T03:25:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/"},"wordCount":923,"publisher":{"@id":"https:\/\/www.mcafee.com\/blogs\/#organization"},"image":{"@id":"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/#primaryimage"},"thumbnailUrl":"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-1-140x300.png","keywords":["computer security","cybersecurity","endpoint protection","vulnerability"],"articleSection":["McAfee Labs"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/","url":"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/","name":"Analyzing CVE-2017-0190: WMF Flaws Can Lead to Data Theft, Code Execution | McAfee Blog","isPartOf":{"@id":"https:\/\/www.mcafee.com\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/#primaryimage"},"image":{"@id":"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/#primaryimage"},"thumbnailUrl":"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-1-140x300.png","datePublished":"2017-07-26T17:39:48+00:00","dateModified":"2025-05-28T03:25:36+00:00","description":"CVE-2017-0190 is a recently patched vulnerability related to Windows metafiles (WMFs), a portable image format mainly used by 16-bit Windows applications.","breadcrumb":{"@id":"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/#primaryimage","url":"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-1-140x300.png","contentUrl":"https:\/\/securingtomorrow.mcafee.com\/wp-content\/uploads\/2017\/07\/20170724-WMF-flaws-1-140x300.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/analyzing-cve-2017-0190-wmf-flaws-can-lead-data-theft-code-execution\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/www.mcafee.com\/blogs\/"},{"@type":"ListItem","position":2,"name":"Other Blogs","item":"https:\/\/www.mcafee.com\/blogs\/other-blogs\/"},{"@type":"ListItem","position":3,"name":"McAfee Labs","item":"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/"},{"@type":"ListItem","position":4,"name":"Analyzing CVE-2017-0190: WMF Flaws Can Lead to Data Theft, Code Execution"}]},{"@type":"WebSite","@id":"https:\/\/www.mcafee.com\/blogs\/#website","url":"https:\/\/www.mcafee.com\/blogs\/","name":"McAfee Blog","description":"Internet Security News","publisher":{"@id":"https:\/\/www.mcafee.com\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mcafee.com\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.mcafee.com\/blogs\/#organization","name":"McAfee","url":"https:\/\/www.mcafee.com\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.mcafee.com\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2023\/02\/mcafee-logo.png","contentUrl":"https:\/\/www.mcafee.com\/blogs\/wp-content\/uploads\/2023\/02\/mcafee-logo.png","width":1286,"height":336,"caption":"McAfee"},"image":{"@id":"https:\/\/www.mcafee.com\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/McAfee\/","https:\/\/x.com\/McAfee","https:\/\/www.linkedin.com\/company\/mcafee\/","https:\/\/www.youtube.com\/McAfee"]},{"@type":"Person","@id":"https:\/\/www.mcafee.com\/blogs\/#\/schema\/person\/fa34211f16b6ccfeba39d2c969693ccb","name":"Bosco Sebastian","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.mcafee.com\/blogs\/#\/schema\/person\/image\/c800a46fa279d3908ffe8833409fe6a4","url":"https:\/\/secure.gravatar.com\/avatar\/1a99a3fe5e99387ff53f1d11dd03e0dc?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1a99a3fe5e99387ff53f1d11dd03e0dc?s=96&d=mm&r=g","caption":"Bosco Sebastian"},"sameAs":["https:\/\/www.linkedin.com\/in\/bosco-sebastian-74732636\/"],"url":"https:\/\/www.mcafee.com\/blogs\/author\/bosco-sebastian\/"}]}},"_links":{"self":[{"href":"https:\/\/www.mcafee.com\/blogs\/wp-json\/wp\/v2\/posts\/76330","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mcafee.com\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mcafee.com\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mcafee.com\/blogs\/wp-json\/wp\/v2\/users\/910"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mcafee.com\/blogs\/wp-json\/wp\/v2\/comments?post=76330"}],"version-history":[{"count":2,"href":"https:\/\/www.mcafee.com\/blogs\/wp-json\/wp\/v2\/posts\/76330\/revisions"}],"predecessor-version":[{"id":214501,"href":"https:\/\/www.mcafee.com\/blogs\/wp-json\/wp\/v2\/posts\/76330\/revisions\/214501"}],"wp:attachment":[{"href":"https:\/\/www.mcafee.com\/blogs\/wp-json\/wp\/v2\/media?parent=76330"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mcafee.com\/blogs\/wp-json\/wp\/v2\/categories?post=76330"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mcafee.com\/blogs\/wp-json\/wp\/v2\/tags?post=76330"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.mcafee.com\/blogs\/wp-json\/wp\/v2\/coauthors?post=76330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}