{"id":4547,"date":"2017-12-20T00:38:00","date_gmt":"2017-12-19T23:38:00","guid":{"rendered":"http:\/\/borncity.com\/win\/?p=4547"},"modified":"2021-12-08T14:32:02","modified_gmt":"2021-12-08T13:32:02","slug":"the-problem-with-c-redists-3rd-party-security-patches-ii","status":"publish","type":"post","link":"https:\/\/borncity.com\/win\/2017\/12\/20\/the-problem-with-c-redists-3rd-party-security-patches-ii\/","title":{"rendered":"The problem with C++ Redists &amp; 3rd Party security patches &#8211; II"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" style=\"float: left; margin: 0px 10px 0px 0px; display: inline;\" src=\"http:\/\/www.borncity.com\/blog\/wp-content\/uploads\/2015\/01\/Schutz.jpg\" width=\"40\" height=\"47\" align=\"left\" \/>[<a href=\"http:\/\/www.borncity.com\/blog\/2017\/11\/27\/das-problem-mit-c-redists-party-sicherheitspatches-teil-1\/\" target=\"_blank\" rel=\"noopener\">German<\/a>]In part 1 of the article series I had published a note from blog reader Karl (al Qamar) about a problem related to security updates for the Visual C++ runtime libraries (redistributables). Part 2 deals with the e-mail correspondence between Karl and Microsoft.<\/p>\n<p><!--more--><\/p>\n<h2>Asking Microsoft<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/ssl-vg03.met.vgwort.de\/na\/1e4dd5e9de0340b6b6152fadb19d72a3\" alt=\"\" width=\"1\" height=\"1\" \/>Karl decided to contact the folks at Microsoft Security Response Center (MSRC) and discuss his findings.<\/p>\n<blockquote><p>Dear Microsoft Security Team,<\/p>\n<p>in my daily work I find dozens of installations of Windows, no matter which version, whether these are installations of private users or corporate using SCCM or WSUS.<\/p>\n<p>Many Windows systems are still vulnerable and in my humble opinion not perfectly protected because a design flaw.<\/p><\/blockquote>\n<blockquote><p>Mainly C++ Redists. Users will not get the latest C++ Redistributables via Windows Update and on nearly every system old vulnerable C++ Redist dll exist, as main or side-by-side installation.<\/p><\/blockquote>\n<blockquote><p>There is a tool called Sereby All-in-One that will nearly* cleanly delete all C++ Redists and Side-by-Side installations and force installation of the latest one you provide on your Website only.<\/p>\n<p>The current situation is that C++ Redists will only be patched in parts, not removing unpatched and vulnerable Side-By-Side installations.<\/p>\n<p>Refer the attached screenshot how a clean and updated C++ Redist should look like on every Windows Client. I never had any issues to do so on hundreds of systems.<\/p>\n<p>*because of a file version check in his script it happens that some outdated C++ Redists entries will remain in Programs and Features (now Apps and Features).<\/p><\/blockquote>\n<p><a href=\"https:\/\/i.imgur.com\/Dra63nh.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"Visual C++ Redistributables\" src=\"https:\/\/i.imgur.com\/Dra63nh.jpg\" alt=\"Visual C++ Redistributables\" width=\"629\" height=\"168\" \/><\/a><br \/>\n(Click to zoom)<\/p>\n<p>But even if you clean up the runtime environment on the machines, there is a follow-up problem, which Karl addresses here:<\/p>\n<blockquote><p><b>Another problem arises here:<\/b><\/p>\n<p>Even though if a system is successfully patched with the most C++ Redists and all other vulnerable versions have been purged, e.g. using All in One Runtime there is still a risk.<\/p>\n<p>Developers tend to include (outdated) C++ Redists and overwrite newer C++ DLLs, some installers like Acrobat DC (classic branch) are so blatantly coded, that they even persist to have old unpatched C++ Redists installed otherwise the MSI installer will fail.<\/p>\n<p>Also on Steam and other platforms many games will install outdated C++ Redists because only since C++ 2013 there are some countermeasures. But for C++ 2005, 2008, 2010, 2012 there are none.<\/p>\n<p>Additionally I have seen many applications that provide their own outdated C++ Redists in the installation directory instead of using those installed in Windows.<\/p>\n<p>This happens across nearly all applications and games around.<\/p><\/blockquote>\n<p>In short: Many applications bring their own, often obsolete Visual C++ runtime environments with them and install them in the program folder (instead of using the DLLs already present in Windows). Karl suggests that Microsoft take care of the issue:<\/p>\n<blockquote><p>It would be great if you can finally address these security issues and push out all C++ Redists to the systems and set rules to devs not to include and install their own C++ outdated redists, they will never ever care of again.<\/p>\n<p>Uninstall all C++ redists and install the latest ones (currently not included in Microsoft Update Catalog, but only on MS Website). Currently WU \/ WSUS will not apply all security updates available for MS XML or all C++ Redists. I am sure you will get the point when comparing versions in my screenshot to the updates that will be applied via WU.<\/p>\n<p><b>Secondly <\/b>also many developers include DLLs like d3dcompiler_47.dll that have been recently patched. Developers don't care to apply patches on their C++ Redists and Windows should force following:<\/p>\n<p>These inconsistencies also exist for systems that will not be updated from MS XML 2.0 \/ 3.0 \/ 4.0 to MS XML 4.0 SP3.<\/p>\n<p>This also affects usage of OpenSSL in the same way, but I see that is out of MS scope.<\/p><\/blockquote>\n<p>In the last few paragraphs of his mail Karl deals with the problem of the <em>d3dcompiler_47.dll<\/em>. This has had to be patched lately for security reasons. The installation of third-party software then causes unpatched variants of these DLLs to come back on the system.<\/p>\n<h2>What does Microsoft say about this?<\/h2>\n<p>Microsoft has responded via the MSRC team to Karl's request with the following text:<\/p>\n<blockquote><p>Thank you for contacting the Microsoft Security Response Center (MSRC). What you're reporting appears to be a security related bug\/product suggestion.<br \/>\nTo best resolve this issue please see the following two links:<br \/>\n\"Microsoft Product Support Services\"<br \/>\n&lt;<a href=\"http:\/\/support.microsoft.com\/common\/international.aspx\" target=\"_blank\" rel=\"noopener\">http:\/\/support.microsoft.com\/common\/international.aspx<\/a>&gt;<br \/>\n\"Search Products accepting bugs or suggestions\"<br \/>\n&lt;<a href=\"https:\/\/web.archive.org\/web\/20210417105936\/http:\/\/support.microsoft.com\/gp\/contactbug\" target=\"_blank\" rel=\"noopener\">http:\/\/support.microsoft.com\/gp\/contactbug\/<\/a>&gt;<br \/>\nThanks,<br \/>\nTyler<br \/>\nMSRC<\/p><\/blockquote>\n<p>In short: This is not our problem &#8211; contact product support or submit it as a bug report under the given links.<\/p>\n<h2>Entry in the Feedback Hub<\/h2>\n<p>Karl told me afterwards about <a href=\"https:\/\/aka.ms\/Dik33u\" target=\"_blank\" rel=\"noopener\">this entry<\/a> in the Feedback Hub for Windows 10, where the topic can also be found.<\/p>\n<p><a href=\"https:\/\/i.imgur.com\/gI2RSwJ.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i.imgur.com\/gI2RSwJ.jpg\" width=\"630\" height=\"130\" \/><\/a><\/p>\n<p>In part 3 there is a solution approach and a FAQ that Karl put together.<\/p>\n<p><strong>Article series:<\/strong><br \/>\n<a href=\"https:\/\/borncity.com\/win\/?p=4543\">The problem with C++ Redists &amp; 3rd Party security patches<\/a>\u00a0\u2013 I<br \/>\n<a href=\"https:\/\/borncity.com\/win\/?p=4547\" rel=\"noopener\">The problem with C++ Redists &amp; 3rd Party security patches<\/a>\u00a0\u2013 II<br \/>\n<a href=\"https:\/\/borncity.com\/win\/?p=4550\" rel=\"noopener\">The problem with C++ Redists &amp; 3rd Party security patches<\/a>\u00a0\u2013 III<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[German]In part 1 of the article series I had published a note from blog reader Karl (al Qamar) about a problem related to security updates for the Visual C++ runtime libraries (redistributables). Part 2 deals with the e-mail correspondence between &hellip; <a href=\"https:\/\/borncity.com\/win\/2017\/12\/20\/the-problem-with-c-redists-3rd-party-security-patches-ii\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[580,22,2],"tags":[1204,1203,195,194],"class_list":["post-4547","post","type-post","status-publish","format-standard","hentry","category-security","category-update","category-windows","tag-c","tag-restrists","tag-update","tag-windows"],"_links":{"self":[{"href":"https:\/\/borncity.com\/win\/wp-json\/wp\/v2\/posts\/4547","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/borncity.com\/win\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/borncity.com\/win\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/borncity.com\/win\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/borncity.com\/win\/wp-json\/wp\/v2\/comments?post=4547"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/win\/wp-json\/wp\/v2\/posts\/4547\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/win\/wp-json\/wp\/v2\/media?parent=4547"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/win\/wp-json\/wp\/v2\/categories?post=4547"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/win\/wp-json\/wp\/v2\/tags?post=4547"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}