{"id":887,"date":"2011-08-12T20:49:30","date_gmt":"2011-08-12T18:49:30","guid":{"rendered":"http:\/\/blog.m-ri.de\/?p=887"},"modified":"2011-12-01T18:06:40","modified_gmt":"2011-12-01T17:06:40","slug":"anderungen-in-den-vc-libraries-des-sicherheitsupdates-vom-09-08-2011","status":"publish","type":"post","link":"http:\/\/blog.m-ri.de\/index.php\/2011\/08\/12\/anderungen-in-den-vc-libraries-des-sicherheitsupdates-vom-09-08-2011\/","title":{"rendered":"\u00c4nderungen in den VC-Libraries des Sicherheitsupdates vom 09.08.2011"},"content":{"rendered":"<p>Eigentlich kann man es kein Sicherheitsupdate nennen. Ich sehe\u00a0 eigentlich nur eine sicherheitsrelevante \u00c4nderung in:<\/p>\n<ul>\n<li><strong>atltransactionmanager.h (ATL)<\/strong><br \/>\nHier wird das Laden der ktmw32.dll jetzt mit einer neuen Funktion <em>AtlLoadSystemLibraryUsingFullPath<\/em> durchgef\u00fchrt, die in <strong><em>atlcore.h<\/em><\/strong> hinzugef\u00fcgt wird. Diese Funktion l\u00e4dt eine DLL nur aus dem Windows-System Verzeichnis. Damit wird Binary-Planting verhindert, aber dies betrifft eigentlich nur <del><em>Windows Vista \/ 7 \/ 2008<\/em><\/del> <span style=\"text-decoration: underline;\">Windows 2003 und Windows XP<\/span> <em>(Nachtrag am 18.08. siehe dazu Kommentar von Stefan Kuhr)<\/em> und diejenigen die den <em>Kernel Transaction Manager<\/em> mit der <em>ATL<\/em> nutzen.<\/li>\n<\/ul>\n<p>Bugfixes habe ich folgende gefunden:<\/p>\n<ul>\n<li><strong>afxtoolbarimages.cpp (MFC)<\/strong><br \/>\nIn <em>CPngImage::LoadFromBuffer<\/em> wurde bei der Verwendung dieser Funktion in Speicherblock eines Streams nicht freigegeben (falsche Nutzung von <em>CreateStreamOnHGlobal<\/em>).<\/li>\n<li><strong>dbcore (MFC \/ ODBC)<\/strong><br \/>\nIn <em>CRecordset::BuildUpdateSQL<\/em> in der ODBC Implementierung, wird bei Abfrage eines Cursornamens ein Puffer von 18 Zeichen L\u00e4nge verwendet (<em>MAX_CURSOR_NAME<\/em>). Ist der Cursorname l\u00e4nger so wurde eine Exception geworfen. Jetzt wird erkannt, dass der Buffer zu klein ist und es wird ein dynamischer Buffer mit ausreichender Gr\u00f6\u00dfe alloziert und der Name dann abgefragt.<\/li>\n<li>\u00a0<strong>xutility (STL und auch CRT)<\/strong><br \/>\nIn der Basisklasse der Iteratoren wurde eine \u00c4nderung gemacht. Scheinbar hat die Zuweisung eines &#8222;leeren\/nicht initialisierten&#8220; Iterators bisher einen Iterator gar nicht ver\u00e4ndert. Der alte Iterator wurde nicht aufgel\u00f6st durch <em>_Orphan_me<\/em>. Dies bringt dann Probleme mit sich wenn der <em>_ITERATOR_DEBUG_LEVEL<\/em> mit 2 genutzt wird.<br \/>\nDa dieser STL Code auch komplett in der CRT verwendet wird, hat dies auch Einflu\u00df auf die CRT.<br \/>\nAuf die Release Version aber hat diese Code-\u00c4nderung jedoch keinen Einfluss, soweit ich das erkennen kann.<\/li>\n<\/ul>\n<p>Es gibt noch einige andere Dateien, die ge\u00e4ndert wurde, aber hier haben sich nur unwichtige Kommentare ge\u00e4ndert.<\/p>\n<p>Fazit: Alles in allem ein Sicherheitspatch, der eher Bugfixes enth\u00e4lt, aber selbst die sind nicht sonderlich weitreichend. Und der Nutzerbereich, der mit der <em>ATL<\/em> den <em>Kernel Transaction Manager<\/em> nutzt, wird wohl eher klein sein&#8230;<\/p>\n<p>PS: Die Dateien dieses Sicherheitspatches haben die Version 10.0.40219.325.<br \/>\nDie Dateien aus dem VS-2010 SP1 haben die Versionsnummer 10.0.30319.1.<\/p>\n<p><strong>Nachtrag 01.12.2011, MSDN Links:<\/strong><br \/>\nSicherheits Bullentin:\u00a0\u00a0 <a href=\"http:\/\/www.microsoft.com\/technet\/security\/bulletin\/MS11-025.mspx\">MS11-025<\/a><br \/>\nKnowledge Base-Artikel (KB-Artikel):\u00a0 <a href=\"http:\/\/support.microsoft.com\/?kbid=2565057\">KB2565057<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Eigentlich kann man es kein Sicherheitsupdate nennen. Ich sehe\u00a0 eigentlich nur eine sicherheitsrelevante \u00c4nderung in: atltransactionmanager.h (ATL) Hier wird das Laden der ktmw32.dll jetzt mit einer neuen Funktion AtlLoadSystemLibraryUsingFullPath durchgef\u00fchrt, die in atlcore.h hinzugef\u00fcgt wird. Diese Funktion l\u00e4dt eine DLL nur aus dem Windows-System Verzeichnis. Damit wird Binary-Planting verhindert, aber dies betrifft eigentlich nur Windows &hellip; <a href=\"http:\/\/blog.m-ri.de\/index.php\/2011\/08\/12\/anderungen-in-den-vc-libraries-des-sicherheitsupdates-vom-09-08-2011\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201e\u00c4nderungen in den VC-Libraries des Sicherheitsupdates vom 09.08.2011\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[30,19,3,172],"tags":[370,360,352,128,171],"class_list":["post-887","post","type-post","status-publish","format-standard","hentry","category-c","category-crt","category-programmieren","category-vs2010","tag-c","tag-crt","tag-mfc","tag-sp1","tag-vs-2010"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/887","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/comments?post=887"}],"version-history":[{"count":1,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/887\/revisions"}],"predecessor-version":[{"id":891,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/887\/revisions\/891"}],"wp:attachment":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/media?parent=887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/categories?post=887"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/tags?post=887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}