{"id":7983,"date":"2018-11-12T12:14:36","date_gmt":"2018-11-12T17:14:36","guid":{"rendered":"https:\/\/www.thesslstore.com\/blog\/?p=7983"},"modified":"2018-11-13T00:37:02","modified_gmt":"2018-11-13T05:37:02","slug":"wordpress-gdpr-compliance-plugin-flaws","status":"publish","type":"post","link":"https:\/\/www.thesslstore.com\/blog\/wordpress-gdpr-compliance-plugin-flaws\/","title":{"rendered":"WordPress GDPR Compliance Plugin: Critical vulnerability, update immediately"},"content":{"rendered":"<h2>Over 100,000 WordPress websites are potentially vulnerable to a major exploit<\/h2>\n<p>Since the end of May, <a href=\"https:\/\/www.thesslstore.com\/blog\/the-gdpr-goes-into-effect-in-10-days-are-you-ready\/\">GDPR compliance has been a key consideration for any company or organization with a footprint in Europe<\/a>. In the leadup to the GDPR enforcement date, May 25, multitudes of GDPR compliance products and services have hit the market. And while many are well-intentioned, sometimes they can cause unforeseen problems of their own. Case in point: a WordPress GDPR Compliance Plugin was recently found to be vulnerable to a pair of exploits that could give an attacker control of the website.<\/p>\n<p>In a report made last Thursday, WordFence, <a href=\"https:\/\/www.wordfence.com\/about-wordfence\/\">the company behind a popular WordPress security plugin<\/a>, outlined <a href=\"https:\/\/www.wordfence.com\/blog\/2018\/11\/privilege-escalation-flaw-in-wp-gdpr-compliance-plugin-exploited-in-the-wild\/\">a privilege escalation flaw in the WordPress GDPR Compliance Plugin<\/a> that could endanger over 100,000 websites.<\/p>\n<blockquote><p>After its removal from the WordPress plugin repository yesterday, the popular plugin <a href=\"https:\/\/wordpress.org\/plugins\/wp-gdpr-compliance\/\">WP GDPR Compliance<\/a>\u00a0released version 1.4.3, an update which patched multiple critical vulnerabilities. At the time of this writing, the plugin has been reinstated in the WordPress repository and has over 100,000 active installs. The reported vulnerabilities allow unauthenticated attackers to achieve privilege escalation, allowing them to further infect vulnerable sites. Any sites making use of this plugin should make it an immediate priority to update to the latest version, or deactivate and remove it if updates are not possible.<\/p><\/blockquote>\n<p>So, given that we\u2019ve spent <a href=\"https:\/\/www.thesslstore.com\/blog\/preparing-gdpr-introduction-1\/\">more than a little time covering GDPR compliance<\/a>, today we\u2019re going to go over what the WordPress GDPR Compliance Plugin is, what it\u2019s vulnerable to and what you need to do if you\u2019re using it.<\/p>\n<p>Let\u2019s Hash it Out&#8230;<span id=\"newline\"><\/span><\/p>\n<h2>What is the WordPress GDPR Compliance Plugin?<\/h2>\n<p>The <a href=\"https:\/\/www.wpgdprc.com\/\">WordPress GDPR Compliance Plugin<\/a> is designed to assist websites and organizations with European privacy regulations. Designed by Van Ons, it\u2019s essentially a suite of features, like support for Contact Forms, Gravity Forms, WooCommerce and WordPress comments.<\/p>\n<blockquote><p><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-7700\" src=\"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2018\/10\/GDPR-Series-e1539286852353-300x300.jpg\" alt=\"GDPR: The fines are coming \u2013 likely by year-end\" width=\"300\" height=\"300\" srcset=\"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2018\/10\/GDPR-Series-e1539286852353-300x300.jpg 300w, https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2018\/10\/GDPR-Series-e1539286852353.jpg 399w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/>WP GDPR Compliance helps you as a site owner take care of:<\/p>\n<p style=\"padding-left: 30px;\">&#8211; Keeping a consent log for supported plugins.<br \/>\n&#8211; Adding checkboxes to supported plugins for explicit visitor consent.<br \/>\n&#8211; \u2018Right to access\u2019 through encrypted audit logs.<br \/>\n&#8211; \u2018Right to be forgotten\u2019 by anonymising [sic] user data.<\/p>\n<\/blockquote>\n<p><a href=\"https:\/\/www.thesslstore.com\/blog\/cms-plugins-disabling-ssl-tls-validation\/\">As we covered last week<\/a>, one of the benefits of a CMS like WordPress is the ability to use plugins, which save site owners time and resources that would otherwise need to be spent developing web applications and additional functionality to their websites. The downside is that sometimes these plugins, which are designed by third parties, can cause unforeseen complications \u2013 <a href=\"https:\/\/www.thesslstore.com\/blog\/cms-plugins-disabling-ssl-tls-validation\/\">like disabling certificate authentication<\/a>.<\/p>\n<p>That\u2019s what\u2019s happening in the case of the WordPress GDPR Compliance plugin.<\/p>\n<h2>What are the WordPress GDPR Compliance plugin\u2019s critical vulnerabilities?<\/h2>\n<p>There are two. And these have been spotted in the wild, meaning that they have already been exploited. While WordFence says it hasn\u2019t seen any \u201cfinal payloads,\u201d clearly there is an imminent threat posed by these vulnerabilities.<\/p>\n<p>The first is a bit simpler, and more common:<\/p>\n<h2>Administrator Access via Modified Settings<\/h2>\n<p>Distilled to its simplest, this attack lets an attacker create a new user, give it admin privileges and then change the settings it just exploited to create the new user \u2013 as a way to prevent the attack vector from being exploited again.<\/p>\n<p><a href=\"https:\/\/www.wordfence.com\/blog\/2018\/11\/trends-following-vulnerability-in-wp-gdpr-compliance-plugin\/\">Here\u2019s an example of the log entries from one attack<\/a>:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-7984 size-full\" src=\"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2018\/11\/accesslog.png\" alt=\"attack log \" width=\"842\" height=\"132\" srcset=\"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2018\/11\/accesslog.png 842w, https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2018\/11\/accesslog-300x47.png 300w, https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2018\/11\/accesslog-768x120.png 768w\" sizes=\"auto, (max-width: 842px) 100vw, 842px\" \/><\/p>\n<p>While we\u2019re not going to go line-by-line, you can see where the attacker is able to enable the \u201cusers_can_register\u201d option, create a new account, and then disable the registration option, effectively shutting the window behind them.<\/p>\n<p>WordFence has seen the attackers installing a PHP <a href=\"https:\/\/www.thesslstore.com\/blog\/secure-shell-what-is-ssh\/\">webshell<\/a>, that can allow for remote access. From there, the attacker has carte blanche to upload any additional malicious payloads it wants to.<\/p>\n<h2>Backdoor Installation via Injected Cron<\/h2>\n<p>The second exploit is a bit more involved, but provides the attacker with a persistent backdoor that can be replaced if it\u2019s found and removed. The attack works by injecting malicious actions into a website\u2019s WP-Cron schedule. This exploits a technology that allows a website to run scheduled tasks like checking for updates or pushing live new content.<\/p>\n<p>This exploit takes advantage of part of WooCommerce\u2019s functionality:<\/p>\n<blockquote><p>..to install the\u00a0<a href=\"https:\/\/wordpress.org\/plugins\/2mb-autocode\/\">2MB Autocode<\/a>\u00a0plugin, which allows the injection of arbitrary PHP code into all posts on a site. The code to be injected is stored by 2MB Autocode as an option in the database\u2026<\/p><\/blockquote>\n<p>That setting is then modified with a PHP backdoor script that downloads a response from the attacker\u2019s server and saves it as wp-cache.php, before covering its tracks. This makes it difficult to detect, but results in persistent backdoor access to the site.<\/p>\n<blockquote><p>While the backdoor script seen in these cases shares the name wp-cache.php\u00a0with other methods, the contents are much different. Instead of a self-contained web shell, this script contains some decoding functions and some execution syntax, but none of the executed payload is stored in the file. Instead, the payload to be decoded and executed is stored as a POST variable or in a cookie.<\/p><\/blockquote>\n<p>Again, WordFence doesn\u2019t know what the intent is behind this attack is. It knows the means, it just hasn\u2019t ascertained the ends yet. Still, there\u2019s no shortage of potential dangers having admin permissions and remote access to a website can cause.<\/p>\n<h2>How would I know if I\u2019m in trouble?<\/h2>\n<p>WordFence has provided the following indicators of compromise:<\/p>\n<p><strong>Prevalent IP Addresses<\/strong><\/p>\n<p>Admin Creation<\/p>\n<ul>\n<li>234.39.250<\/li>\n<li>234.37.214<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-7699 size-medium\" src=\"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2018\/10\/GDPR-Report-e1539286884728-300x300.jpg\" alt=\"GDPR: The fines are coming \u2013 likely by year-end\" width=\"300\" height=\"300\" srcset=\"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2018\/10\/GDPR-Report-e1539286884728-300x300.jpg 300w, https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2018\/10\/GDPR-Report-e1539286884728.jpg 399w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/>Cron Injection<\/p>\n<ul>\n<li>39.65.176<\/li>\n<li>123.213.91<\/li>\n<\/ul>\n<p><strong>Attacker Domain Accessed:<\/strong> pornman.com<\/p>\n<p><strong>Malware Hashes<\/strong><\/p>\n<p>Admin Creation<\/p>\n<ul>\n<li>MD5:\u00a0b6eba59622630b18235ba2d0ce4fcb65<\/li>\n<li>SHA1:\u00a0577293e035cce3083f2fc68f684e014bf100faf3<\/li>\n<\/ul>\n<p>Cron Injection<\/p>\n<ul>\n<li>MD5:\u00a0c62180f0d626d92e29e83778605dd8be<\/li>\n<li>SHA1:\u00a083d9688605a948943b05df5c548bea6e1a7fe8da<\/li>\n<\/ul>\n<p><strong>Installed Plugins:<\/strong> 2MB Autocode (if you aren&#8217;t using it intentionally)<\/p>\n<p><em><strong>RELATED:<\/strong> <a href=\"https:\/\/www.thesslstore.com\/blog\/dont-watch-porn-at-work-especially-if-you-work-for-the-us-government\/\">Pro Tip: Don&#8217;t look at porn at work &#8211; especially if you work for the government<\/a><\/em><\/p>\n<h2>What do I need to do if I\u2019m using WordPress GDPR Compliance Plugin?<\/h2>\n<p>Update immediately. Following the WordFence report the plugin was temporarily pulled offline, it has since been patched and the updated version is once again available. If you plan to continue using the WordPress GDPR Compliance plugin, update it now. Like, right now. Push the pause button on whatever you\u2019ve got blaring through your headphones, open a new window and go fix this problem immediately.<\/p>\n<p>You cannot afford to leave an attack vector this dangerous open.<\/p>\n<p><em>As always, leave any comments or questions below\u2026<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7276\" src=\"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2018\/08\/bigstock-222348568.jpg\" alt=\"Hashed Out by The SSL Store is the voice of record in the SSL\/TLS industry.\" width=\"1559\" height=\"407\" srcset=\"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2018\/08\/bigstock-222348568.jpg 1559w, https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2018\/08\/bigstock-222348568-300x78.jpg 300w, https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2018\/08\/bigstock-222348568-768x200.jpg 768w, https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2018\/08\/bigstock-222348568-1024x267.jpg 1024w\" sizes=\"auto, (max-width: 1559px) 100vw, 1559px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Over 100,000 WordPress websites are potentially vulnerable to a major exploit Since the end of May, GDPR compliance has been a key consideration for any company or organization with a&#8230;<\/p>\n","protected":false},"author":6,"featured_media":7985,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":"","tve_updated_post":"","tve_custom_css":"","tve_user_custom_css":"","tve_globals":{},"tcb2_ready":0,"tcb_editor_enabled":0,"tve_landing_page":"","_tve_header":"","_tve_footer":""},"categories":[16],"tags":[5742],"class_list":["post-7983","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hashing-out-cyber-security","tag-gdpr","post-with-tags"],"views":11457,"jetpack_featured_media_url":"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2018\/11\/bigstock-Gdpr-General-Data-Protection-233382733.jpg","_links":{"self":[{"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/posts\/7983","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/comments?post=7983"}],"version-history":[{"count":0,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/posts\/7983\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/media\/7985"}],"wp:attachment":[{"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/media?parent=7983"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/categories?post=7983"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/tags?post=7983"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}