{"id":92741,"date":"2019-06-17T17:03:16","date_gmt":"2019-06-17T21:03:16","guid":{"rendered":"http:\/\/rbach.net\/index.php\/"},"modified":"2022-10-16T15:50:06","modified_gmt":"2022-10-16T19:50:06","slug":"do-you-yuzo","status":"publish","type":"post","link":"https:\/\/rbach.net\/index.php\/do-you-yuzo\/","title":{"rendered":"Is Yuzo on Your WordPress site?"},"content":{"rendered":"<p><a href=\"http:\/\/sacsteacher.weebly.com\/unpacking-the-standards.html\" target=\"_blank\" rel=\"do you yuzo? noopener noreferrer\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-92746\" title=\"Do You Yuzo?\" src=\"https:\/\/i0.wp.com\/rbach.net\/wp-content\/uploads\/unpacking.jpg?resize=95%2C106&#038;ssl=1\" alt=\"Do You Yuzo?\" width=\"95\" height=\"106\" srcset=\"https:\/\/i0.wp.com\/rbach.net\/wp-content\/uploads\/unpacking.jpg?resize=134%2C150&amp;ssl=1 134w, https:\/\/i0.wp.com\/rbach.net\/wp-content\/uploads\/unpacking.jpg?resize=67%2C75&amp;ssl=1 67w, https:\/\/i0.wp.com\/rbach.net\/wp-content\/uploads\/unpacking.jpg?w=258&amp;ssl=1 258w\" sizes=\"auto, (max-width: 95px) 100vw, 95px\" \/><\/a>I am still busy unpacking and re-arranging the furniture at the new home of <a href=\"https:\/\/rbach.net\/\" target=\"_blank\" rel=\"noopener noreferrer\">Bach Seat<\/a>. One of the nicer things about my new host is that I can now <strong>get WordPress alerts<\/strong>. And I have been getting a ton of alerts from the firewall that it blocked <strong>\u201cyuzo-related\u201d attack attempts<\/strong>. So I decided to see WTF \u201cyuzo-related\u201d attack attempts were about and found an excellent <a href=\"https:\/\/www.wordfence.com\/blog\/2019\/04\/yuzo-related-posts-zero-day-vulnerability-exploited-in-the-wild\/\" target=\"_blank\" rel=\"noopener noreferrer\">explanation<\/a> on the <em><a href=\"https:\/\/www.wordfence.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">WordFence<\/a><\/em> site.<\/p>\n<h3>60,000 WordPress websites<\/h3>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-92747 size-medium\" title=\"Unpatched vulnerability\" src=\"https:\/\/i0.wp.com\/rbach.net\/wp-content\/uploads\/ILuvYourPC-e1560616193958-150x97.jpg?resize=150%2C97&#038;ssl=1\" alt=\"Unpatched vulnerability\" width=\"150\" height=\"97\" srcset=\"https:\/\/i0.wp.com\/rbach.net\/wp-content\/uploads\/ILuvYourPC-e1560616193958.jpg?resize=150%2C97&amp;ssl=1 150w, https:\/\/i0.wp.com\/rbach.net\/wp-content\/uploads\/ILuvYourPC-e1560616193958.jpg?resize=75%2C48&amp;ssl=1 75w, https:\/\/i0.wp.com\/rbach.net\/wp-content\/uploads\/ILuvYourPC-e1560616193958.jpg?w=279&amp;ssl=1 279w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/>Dan Moen at <em>WordFence<\/em> explains that the Yuzo Related Posts (YRP) plugin for WordPress has an <strong>unpatched vulnerability<\/strong> that was publicly disclosed by a security researcher on March 30, 2019. The flaw which allows stored <a href=\"https:\/\/web.archive.org\/web\/20200107172446\/https:\/\/www.owasp.org\/index.php\/Cross-site_Scripting_%28XSS%29\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>cross-site scripting<\/strong><\/a> (XSS), is now being exploited in the wild. The buggy plugin is installed on over <strong>60,000 websites<\/strong> and has been removed from the <a href=\"https:\/\/wordpress.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress.org<\/a> plugin directory.<\/p>\n<p><strong><em>WordFence<\/em> recommends that all users remove the plugin from their sites immediately.<\/strong><\/p>\n<p>The blog&#8217;s author writes that the vulnerability in YRP stems from <strong>missing authentication checks<\/strong> in the plugin routines responsible for storing settings in the database. The code below is the crux of the problem. There is more in-depth coding tech-talk at <em>WordFence.<\/em><\/p>\n<pre>8 }elseif( is_admin() ){ \/\/ only admin<\/pre>\n<p>He says developers often mistakenly use is_admin() to check if a piece of code that requires <strong>administrative privileges<\/strong> should be run, but as the <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/is_admin\/\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress documentation<\/a> points out, that isn\u2019t how the function should be used.<\/p>\n<h3>Injects malicious JavaScript<\/h3>\n<p><a href=\"https:\/\/www.contrivanceelectrical.com\/what-we-do\/system-administration\/\" target=\"_blank\" rel=\"system administrator noopener noreferrer\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-92748 \" title=\"System administrator\" src=\"https:\/\/i0.wp.com\/rbach.net\/wp-content\/uploads\/system-admin-e1560617310217-91x150.jpg?resize=78%2C129&#038;ssl=1\" alt=\"System administrator\" width=\"78\" height=\"129\" srcset=\"https:\/\/i0.wp.com\/rbach.net\/wp-content\/uploads\/system-admin-e1560617310217.jpg?resize=91%2C150&amp;ssl=1 91w, https:\/\/i0.wp.com\/rbach.net\/wp-content\/uploads\/system-admin-e1560617310217.jpg?resize=46%2C75&amp;ssl=1 46w, https:\/\/i0.wp.com\/rbach.net\/wp-content\/uploads\/system-admin-e1560617310217.jpg?w=313&amp;ssl=1 313w\" sizes=\"auto, (max-width: 78px) 100vw, 78px\" \/><\/a>The result is that an <strong>unauthenticated attacker can inject malicious content<\/strong>, such as a <strong>JavaScript payload<\/strong>, into the plugin settings. That payload is then inserted into HTML templates and <strong>executed by the web browser<\/strong> when users visit the compromised website. This security issue could be used to <strong>deface websites<\/strong>, <strong>redirect visitors<\/strong> to unsafe websites, or <strong>compromise<\/strong> WordPress <strong>administrator accounts<\/strong>, among other things.<\/p>\n<p>As evidenced by the number of probes against my site, threat actors have begun exploiting sites with YRP installed. The exploits <strong>in the wild inject<\/strong> <strong><a href=\"https:\/\/www.symantec.com\/security_response\/attacksignatures\/detail.jsp?asid=24437\" target=\"_blank\" rel=\"noopener noreferrer\">malicious JavaScript<\/a><\/strong>. When a visitor lands on a compromised website containing the malicious payload, they will be redirected to malicious tech support scam pages &#8211; like this example:<\/p>\n<p><a href=\"https:\/\/www.wordfence.com\/blog\/2019\/04\/yuzo-related-posts-zero-day-vulnerability-exploited-in-the-wild\/\" target=\"_blank\" rel=\"fake noopener page support tech noreferrer\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"wp-image-92744 aligncenter\" title=\"Fake tech support page\" src=\"https:\/\/i0.wp.com\/rbach.net\/wp-content\/uploads\/faketechsupport-e1560611369956-150x58.png?resize=331%2C128&#038;ssl=1\" alt=\"Fake tech support page\" width=\"331\" height=\"128\" \/><\/a>The <em>WordFence<\/em> analysis shows that the attempts to exploit this vulnerability in YRP share a number of commonalities with attacks on two other vulnerabilities discovered in other plugins: <a href=\"https:\/\/www.wordfence.com\/blog\/2019\/03\/recent-social-warfare-vulnerability-allowed-remote-code-execution\/\" target=\"_blank\" rel=\"noopener noreferrer\">Social Warfare<\/a> and <a href=\"https:\/\/www.wordfence.com\/blog\/2019\/03\/hackers-abusing-recently-patched-vulnerability-in-easy-wp-smtp-plugin\/\" target=\"_blank\" rel=\"noopener noreferrer\">Easy WP SMTP<\/a>.<\/p>\n<p>The security researchers found all three campaigns so far have used these exploits:<\/p>\n<ul>\n<li>A malicious script hosted on hellofromhony[.]org, which resolves to 176.123.9[.]53.<\/li>\n<li>Involved exploitation of stored XSS injection vulnerabilities and have deployed malicious redirects.<\/li>\n<\/ul>\n<p><em>WordFence<\/em> is confident that the tactics, techniques and procedures in all three attacks point to a common threat actor.<\/p>\n<p><em>WordFence<\/em> recommends WordPress Site owners running the Yuzo Related Posts <strong>remove it from their sites immediately<\/strong>, at least until a fix has been published by the author.<\/p>\n<p><strong><em>rb-<\/em><\/strong><\/p>\n<p><em>What to do?<\/em><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><em><a href=\"http:\/\/www.wordpress.org\/\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-92753\" src=\"https:\/\/i0.wp.com\/rbach.net\/wp-content\/uploads\/WordPress.png?resize=61%2C61&#038;ssl=1\" alt=\"WordPress\" width=\"61\" height=\"61\" srcset=\"https:\/\/i0.wp.com\/rbach.net\/wp-content\/uploads\/WordPress.png?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/rbach.net\/wp-content\/uploads\/WordPress.png?resize=75%2C75&amp;ssl=1 75w, https:\/\/i0.wp.com\/rbach.net\/wp-content\/uploads\/WordPress.png?resize=768%2C768&amp;ssl=1 768w, https:\/\/i0.wp.com\/rbach.net\/wp-content\/uploads\/WordPress.png?w=1000&amp;ssl=1 1000w\" sizes=\"auto, (max-width: 61px) 100vw, 61px\" \/><\/a>Keep your WordPress and plugins up to date.<\/em><\/li>\n<li><em>Do you really need Yuzo Related Posts? <a href=\"https:\/\/wordpress.org\/plugins\/search\/related+posts\/\" target=\"_blank\" rel=\"noopener noreferrer\">Here is a list<\/a> of alternatives from WordPress.<\/em><\/li>\n<li><em>Make sure you have good backups of your WordPress site &#8211; and you can restore it.<\/em><\/li>\n<li><em>Get a firewall on your WordPress site<\/em><\/li>\n<li><em>Block the IP 176.123.9[.]53. From your site.<\/em><\/li>\n<li><em><a href=\"https:\/\/www.wpbeginner.com\/wordpress-security\/\" target=\"_blank\" rel=\"noopener noreferrer\">Harden your WordPress site<\/a>.<\/em><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h6>Related articles<\/h6>\n<ul>\n<li><a href=\"https:\/\/nakedsecurity.sophos.com\/2019\/05\/21\/wordpress-plugin-sees-second-serious-security-bug-in-six-weeks\/\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress plugin sees second serious security bug in six weeks<\/a> (<a href=\"https:\/\/nakedsecurity.sophos.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Naked Security<\/a>)<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><em><a title=\"Ralph Bach\" href=\"https:\/\/rbach.net\/index.php\/new-resume\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ralph Bach<\/a>\u00a0has been in IT long enough to know better and has blogged from his\u00a0<a title=\"Bach Seat\" href=\"https:\/\/rbach.net\/\" target=\"_blank\" rel=\"noopener noreferrer\">Bach Seat<\/a> about IT, careers, and anything else that catches his attention since 2005. You can follow him on <a class=\"broken_link\" href=\"http:\/\/www.linkedin.com\/in\/rb48334\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">LinkedIn<\/a>,\u00a0<a href=\"https:\/\/www.facebook.com\/ralph.bach.14\" target=\"_blank\" rel=\"noopener noreferrer\">Facebook<\/a>,\u00a0and\u00a0<a href=\"https:\/\/twitter.com\/rbach48334\" target=\"_blank\" rel=\"noopener noreferrer\">Twitter<\/a>. Email the Bach Seat\u00a0<a href=\"mailto:\/\/bach.seat@gmail.com\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>An unpatched vulnerability in WordPress plugin Yuzo Related Posts allows XSS in the wild on 60K sites should be removed now<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[3161,3287,895,23,4,2481,84,3284,3285],"class_list":["post-92741","post","type-post","status-publish","format-standard","hentry","category-security","tag-3161","tag-administrative-privileges","tag-javascript","tag-malware","tag-security","tag-social-engineering","tag-wordpress","tag-xss","tag-yuzo"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/rbach.net\/index.php\/wp-json\/wp\/v2\/posts\/92741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rbach.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rbach.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rbach.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rbach.net\/index.php\/wp-json\/wp\/v2\/comments?post=92741"}],"version-history":[{"count":5,"href":"https:\/\/rbach.net\/index.php\/wp-json\/wp\/v2\/posts\/92741\/revisions"}],"predecessor-version":[{"id":126090,"href":"https:\/\/rbach.net\/index.php\/wp-json\/wp\/v2\/posts\/92741\/revisions\/126090"}],"wp:attachment":[{"href":"https:\/\/rbach.net\/index.php\/wp-json\/wp\/v2\/media?parent=92741"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rbach.net\/index.php\/wp-json\/wp\/v2\/categories?post=92741"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rbach.net\/index.php\/wp-json\/wp\/v2\/tags?post=92741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}