{"id":142224,"date":"2015-06-17T11:00:00","date_gmt":"2015-06-17T15:00:00","guid":{"rendered":"http:\/\/premium.wpmudev.org\/blog\/?p=142224"},"modified":"2022-03-15T22:33:32","modified_gmt":"2022-03-15T22:33:32","slug":"wordpress-security-exploits","status":"publish","type":"post","link":"https:\/\/wpmudev.com\/blog\/wordpress-security-exploits\/","title":{"rendered":"A History of WordPress Security Exploits and What They Mean"},"content":{"rendered":"<p>As one of the world&#8217;s most high-profile open-source software projects, WordPress has been a natural target for ongoing security exploits ever since it arrived on the scene.<\/p>\n<p>With the user base continuing to grow and its position as the <a href=\"https:\/\/w3techs.com\/technologies\/overview\/content_management\" rel=\"noopener\" target=\"_blank\">world&#8217;s most popular CMS<\/a> solidifying, it&#8217;s a safe bet this won&#8217;t be changing anytime soon.<\/p>\n<p>The emergence of <a href=\"https:\/\/arstechnica.com\/information-technology\/2015\/05\/actively-exploited-wordpress-bug-puts-millions-of-sites-at-risk\/\" rel=\"noopener\" target=\"_blank\">significant security vulnerabilities<\/a> this year\u00a0has yet again reminded us of the need for ongoing vigilance and the importance of keeping sites updated.<\/p>\n<p>In this article, we&#8217;ll cover a selection of the major WordPress security exploits to date and what they meant for both users like you and the future of WordPress.<\/p>\n<p>Before we delve into the past though, let&#8217;s fill in some blanks on the subject of WordPress security in general.<\/p>\n<p>Continue reading, or jump ahead using these links:<\/p>\n<ul>\n<li><a href=\"#background-on-wordpress-security\">Some Background on WordPress Security<\/a><\/li>\n<li><a href=\"#whitepaper\">The WordPress Security Whitepaper<\/a><\/li>\n<li>T<a href=\"#wp-security-archive\">he WordPress Security Archive<\/a><\/li>\n<li><a href=\"#staying-up-to-date\">Staying up to Date<\/a><\/li>\n<li><a href=\"#wp-security-vulnerabilities\">WordPress Security Vulnerabilities over the Years<\/a><\/li>\n<li><a href=\"#learn-more-on-wpmu-dev\">Learn More on WPMU DEV<\/a><\/li>\n<li><a href=\"#resources-further-afield\">Resources Further Afield<\/a><\/li>\n<\/ul>\n<h2 id=\"background-on-wordpress-security\">Some Background on WordPress Security<\/h2>\n<p>Security has been on the WordPress community&#8217;s radar from the very beginning for good reason and is a critical part of the project as a whole.<\/p>\n<p>A measure of how high up the priority queue security\u00a0is can be seen by going to the <a href=\"https:\/\/wordpress.org\/about\/\" rel=\"noopener\" target=\"_blank\">about page of WordPress.org<\/a>\u00a0where the <a href=\"https:\/\/wordpress.org\/about\/security\/\" rel=\"noopener\" target=\"_blank\">security section<\/a>\u00a0is very prominently displayed.<\/p>\n<h2 id=\"whitepaper\">The WordPress Security Whitepaper<\/h2>\n<p>If you haven&#8217;t previously read the <a href=\"https:\/\/wordpress.org\/about\/security\/\" rel=\"noopener\" target=\"_blank\">WordPress security white paper<\/a>, it&#8217;s worth taking a few minutes to go through it.<\/p>\n<p>It provides a succinct overview of the project&#8217;s approach to security and covers a number of useful points including the following:<\/p>\n<ul>\n<li><strong>Version numbering and security releases:<\/strong> Minor releases are reserved for addressing security vulnerabilities as evidenced in the <a href=\"https:\/\/wordpress.org\/news\/2015\/04\/wordpress-4-1-2\/\" rel=\"noopener\" target=\"_blank\">4.1.2 security release<\/a>.<\/li>\n<li><strong>Internal WordPress security organization:<\/strong> The WordPress Security Team contains around 25 people, with Automattic contributing half the resources. They have a strong track record of working with other industry leaders on <a href=\"https:\/\/wordpress.org\/news\/2014\/08\/wordpress-3-9-2\/\" rel=\"noopener\" target=\"_blank\">common vulnerabilities<\/a> and are committed to a policy of openness.<\/li>\n<li><strong>The most common threat types:<\/strong> The paper also lists a useful overview of the most common security threats as defined by <a href=\"https:\/\/owasp.org\/www-project-top-ten\/\" rel=\"noopener\" target=\"_blank\">Open Web Application Security Project<\/a>. This includes common attack vectors such as <a href=\"http:\/\/www.zdnet.com\/article\/over-1-million-wordpress-websites-at-risk-from-sql-injection\/\" rel=\"noopener\" target=\"_blank\">SQL injection<\/a> and <a href=\"https:\/\/code.tutsplus.com\/cross-site-scripting-in-wordpress-practical-tips-for-securing-your-site--wp-30517t\" rel=\"noopener\" target=\"_blank\">cross-site scripting<\/a>.<\/li>\n<li><strong>The role of plugins and themes:<\/strong> With\u00a0approximately 30,000+ plugins and 2,000+ themes available on WordPress.org alone, it&#8217;s obvious that they represent by far the most commonly vulnerable entry route.<\/li>\n<li><strong>The importance of hosting:<\/strong>\u00a0The best security precautions in the world on the local WordPress level will mean little if you find your host environment compromised.<\/li>\n<\/ul>\n<figure id=\"attachment_206570\" class=\"wp-caption aligncenter\" data-caption=\"true\"><a rel=\"lightbox[142224]\" class=\"blog-thumbnail\" href=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/06\/wp-security-whitepaper.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-206570\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/06\/wp-security-whitepaper.png\" alt=\"The WordPress Security White Paper.\" width=\"600\" height=\"506\" \/><\/a><figcaption class=\"wp-caption-text\">Read the WordPress Security White Paper.<\/figcaption><\/figure>\n<h2 id=\"wp-security-archive\">The WordPress Security Archive<\/h2>\n<p>The quickest way of getting an overview of how much activity there has been on the WordPress security front over the years is a quick visit to the <a href=\"https:\/\/wordpress.org\/news\/category\/security\/\" rel=\"noopener\" target=\"_blank\">WordPress Security Archive<\/a>:<\/p>\n<figure id=\"attachment_206569\" class=\"wp-caption aligncenter\" data-caption=\"true\"><a rel=\"lightbox[142224]\" class=\"blog-thumbnail\" href=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/06\/wp-security-archives.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-206569\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/06\/wp-security-archives.png\" alt=\"WordPress Security Archive\" width=\"600\" height=\"558\" \/><\/a><figcaption class=\"wp-caption-text\">WordPress security archive.<\/figcaption><\/figure>\n<p>There\u00a0you&#8217;ll find details of all security releases to date conveniently assembled in one place.<\/p>\n<p>As can be seen from the entry log, security issues have a tendency to come in flurries and we&#8217;ll be going into the details of some of these shortly.<\/p>\n<h2 id=\"staying-up-to-date\">Staying up to Date<\/h2>\n<p>As Matt Mullenweg never fails to point out, the single biggest security improvement you can make to your site is making sure it is <a href=\"https:\/\/wordpress.org\/news\/2009\/09\/keep-wordpress-secure\/\" rel=\"noopener\" target=\"_blank\">constantly up to date<\/a>.<\/p>\n<p>Ongoing attacks are unfortunately a fact of online life, but the community has an excellent track record of addressing them quickly and transparently.<\/p>\n<p><strong>Let&#8217;s move on to some of the notable time periods where the threat level was particularly high and they were forced to do just that.<\/strong><\/p>\n<h2 id=\"wp-security-vulnerabilities\">WordPress Security Vulnerabilities over the Years<\/h2>\n<h3>2007\/2008 \u2013 Early Attacks<\/h3>\n<p>The growing popularity of WordPress as a CMS as it approached its five-year anniversary saw the level of attacks\u00a0increase considerably.<\/p>\n<p>Hackers naturally focused on low-hanging fruit and a wave of exploits targeting <a href=\"https:\/\/moz.com\/blog\/seo-isnt-hacking-and-data-security-tips\" rel=\"noopener\" target=\"_blank\">SEO<\/a> and Adsense blogs came to light throughout <a href=\"http:\/\/techcrunch.com\/2008\/06\/11\/my-blog-was-hacked-is-yours-next-huge-wordpress-security-issues\/\" rel=\"noopener\" target=\"_blank\">2007 and 2008<\/a>:<\/p>\n<div  class=\"wpdui-pic-regular  \">\n<figure class=\"wp-caption alignnone\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-735x735\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/06\/wordpress-security-issues-headline.png\" alt=\"TechCrunch WordPress security issues article headline\" width=\"735\" height=\"92\" \/><figcaption class=\"wp-caption-text\">TechCrunch led with this rather alarming headline.<\/figcaption><\/figure>\n<\/div>\n<p>To make matters worse, WordPress&#8217; own servers were compromised during this time, leading to the inclusion of a potential backdoor in <a href=\"https:\/\/wordpress.org\/news\/2007\/02\/new-releases\/\" rel=\"noopener\" target=\"_blank\">WordPress 2.1.1<\/a> in 2007.<\/p>\n<p>The issue was quickly addressed in\u00a0<a href=\"https:\/\/wordpress.org\/news\/2007\/03\/upgrade-212\/\" rel=\"noopener\" target=\"_blank\">security release 2.1.2<\/a>,\u00a0but did little for the software&#8217;s\u00a0early reputation.<\/p>\n<p>By mid-2007, the subject of security was increasingly a major focus of <a href=\"https:\/\/markjaquith.wordpress.com\/2007\/06\/28\/wordpress-security\/\" rel=\"noopener\" target=\"_blank\">concern among community leaders<\/a>,\u00a0with one of the major long-term effects of this renewed focus being the eventual introduction\u00a0of\u00a0the one-click update in <a href=\"https:\/\/wordpress.org\/news\/2008\/12\/coltrane\/\" rel=\"noopener\" target=\"_blank\">WordPress 2.7 (Coltrane)<\/a>.<\/p>\n<p>The previously manual update process had long been flagged as a major stumbling block in getting users to update regularly, a situation that massively increased the number of live sites vulnerable to attack.<\/p>\n<h3>2009 \u2013 A Renewed Emphasis on Security<\/h3>\n<p>2009 saw a further flurry of activity from July through to October with a series of security patches being released, covering WordPress versions 2.8.1 up to 2.8.6.<\/p>\n<p>The situation kicked off with the discovery by CoreLabs of <a href=\"https:\/\/www.coresecurity.com\/core-labs\/advisories\/wordpress-privileges-unchecked\" rel=\"noopener\" target=\"_blank\">a serious vulnerability<\/a> affecting versions 2.8 and under. This was resolved with the release of 2.8.1, but it also marked the beginning of a run of releases addressing either overall hardening of WordPress or fixing further acute vulnerabilities.<\/p>\n<p>This sequence came to a close with the Thanksgiving 2009 <a href=\"http:\/\/shinephp.com\/wordpress-2-8-6-security-release-details\/\" rel=\"noopener\" target=\"_blank\">release of 2.8.6<\/a>.<\/p>\n<p>Though the long-term effect of tightening up overall WordPress security was incredibly positive, many in the community will remember it as a dark time for the platform, when it seemed like an upgrade was required every other week.<\/p>\n<p>There&#8217;s an excellent write-up of this time period over by <a href=\"http:\/\/torquemag.io\/wordpress-core-is-secure-stop-telling-people-otherwise\/\" rel=\"noopener\" target=\"_blank\">Jason Cosper at Torque<\/a>,\u00a0putting the whole series of incidents into perspective and pointing out the change point for the platform that it represented.<\/p>\n<h3>2011 \u2013\u00a0Issues with Images<\/h3>\n<p>The year 2011 was chiefly notable for the large scale arrival of the TimThumb vulnerability,\u00a0whereby the popular\u00a0<a href=\"https:\/\/code.google.com\/p\/timthumb\/\" rel=\"noopener\" target=\"_blank\">image-resizing utility<\/a> could be used to load and execute arbitrary PHP code on a server.<\/p>\n<p>Though the original issue was quickly patched and significant additional work was done on the utility in subsequent years, TimThumb <a href=\"http:\/\/wptavern.com\/wordpress-security-alert-new-zero-day-vulnerability-discovered-in-timthumb-script\" rel=\"noopener\" target=\"_blank\">remained a target<\/a> for ongoing attacks all the way up into 2014.<\/p>\n<div  class=\"wpdui-pic-large   \" >\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-1364x1364\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/06\/binary-moon-tim-thumb-article.png\" alt=\"Binary Moon Tim Thumb article\" width=\"1364\" height=\"714\" \/><figcaption class=\"wp-caption-text\">Tim Thumb developer Ben Gillbanks officially retired the code on 27th September 2014.<\/figcaption><\/figure>\n<\/div>\n<p>It serves as an excellent reminder of the persistence of hackers in targeting a route once a\u00a0vulnerability has been established.<\/p>\n<h3>2013 \u2013 Major Sites at Risk<\/h3>\n<p>2013 saw further security feathers being ruffled with the release of a number of reports highlighting the ongoing vulnerabilities of high-profile WordPress sites in the wild.<\/p>\n<p>Security firm Enable Security\u00a0profiled WordPress sites listed among the top one million Alexa websites and came to the conclusion that out of 42,106 WordPress sites found, 73.2% were vulnerable\u00a0to attack as a result of running outdated versions of the software.<\/p>\n<p>Though there was <a href=\"https:\/\/nakedsecurity.sophos.com\/2013\/09\/27\/how-to-avoid-being-one-of-the-73-of-wordpress-sites-vulnerable-to-attack\/\" rel=\"noopener\" target=\"_blank\">some quibbling<\/a> about the level of threat actually present, the figures did act as a further reminder that regular updating remains a concern even on the biggest of WordPress installs.<\/p>\n<p>A separate <a href=\"http:\/\/www.crn.com\/news\/security\/240156883\/popular-wordpress-e-commerce-plugins-riddled-with-security-flaws.htm\" rel=\"noopener\" target=\"_blank\">report on plugins<\/a> from Israeli firm Checkmarx found that seven out of the ten most popular e-commerce\u00a0plugins also contained potential vulnerabilities.<\/p>\n<h3>2015 \u2013 Major Plugins Compromised<\/h3>\n<p>And so we arrive finally at 2015, another year of note.<\/p>\n<p>This has largely been due to the recent <a href=\"https:\/\/blog.sucuri.net\/2015\/04\/security-advisory-xss-vulnerability-affecting-multiple-wordpress-plugins.html\" rel=\"noopener\" target=\"_blank\">discovery of an XSS vulnerability<\/a> affecting a number of the most widely installed plugins in the WordPress ecosystem.<\/p>\n<p>The list of plugins affected was\u00a0a veritable who&#8217;s who of the WordPress great and good, including <a href=\"http:\/\/yoast.com\/\" rel=\"noopener\" target=\"_blank\">Yoast<\/a>, <a href=\"http:\/\/www.gravityforms.com\/\" rel=\"noopener\" target=\"_blank\">Gravity Forms<\/a>, and even <a href=\"https:\/\/wordpress.org\/plugins\/jetpack\/\" rel=\"noopener\" target=\"_blank\">Jetpack<\/a>.<\/p>\n<div  class=\"wpdui-pic-large   \" >\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-1364x1364\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/06\/jetpack2.png\" alt=\"Jetpack\" width=\"1364\" height=\"442\" \/><figcaption class=\"wp-caption-text\">Even the world&#8217;s biggest WordPress plugins can be vulnerable, but security updates are released near-instantly.<\/figcaption><\/figure>\n<\/div>\n<p>As per usual, the core vulnerability was swiftly addressed in <a href=\"https:\/\/wordpress.org\/news\/2015\/04\/wordpress-4-1-2\/\" rel=\"noopener\" target=\"_blank\">version 4.1.2<\/a> but it just goes to show that, even in 2015 with over a decade of active monitoring and hardening of the platform, major security issues can still break out at a moment&#8217;s notice.<\/p>\n<h2 id=\"learn-more-on-wpmu-dev\">Learn More on WPMU DEV<\/h2>\n<p>In addition to keeping updated, there is of course a much wider set of measures you can take with WordPress to make your site as secure as possible.<\/p>\n<p>We&#8217;ve tackled the subject of security on several occasions here at WPMU DEV over the years and provided comprehensive guides to help you keep those digital doors firmly locked.<\/p>\n<p><strong>Review these three articles in particular for full information on steps to take to protect your site:<\/strong><\/p>\n<ol>\n<li><strong><a href=\"https:\/\/wpmudev.com\/blog\/security-101\" target=\"_blank\" rel=\"noopener\">WordPress Security: Tried and True Tips to Secure WordPress<\/a>.<\/strong>\u00a0Jenni McKinnon provided an up to date overview of the topic of general WordPress security earlier in the year. A super starting point if you&#8217;re just starting to investigate this topic.<\/li>\n<li><strong><a href=\"https:\/\/wpmudev.com\/blog\/keeping-wordpress-secure-the-ultimate-guide\" target=\"_blank\" rel=\"noopener\">WordPress Security: The Ultimate Guide<\/a>.<\/strong>\u00a0Kevin Muldoon&#8217;s 2014 piece is a wonderfully in-depth guide to the steps he took after his own site was hacked. A seriously informative deep-dive into the subject.<\/li>\n<li><a href=\"https:\/\/wpmudev.com\/blog\/quick-easy-wordpress-security-vulnerability-fixes\/\" target=\"_blank\" rel=\"noopener\"><strong>7 Quick &amp; Easy WordPress Security Fixes<\/strong><\/a> &#8211; This article shows you how to fix vulnerabilities in WordPress to ensure that hackers can\u2019t access your site and make themselves at home.<\/li>\n<\/ol>\n<h2 id=\"resources-further-afield\">Resources Further Afield<\/h2>\n<p>The subject of online security is obviously a vast one so we&#8217;ll limit ourselves to two solid starting points for further exploration:<\/p>\n<ol>\n<li><strong><a href=\"https:\/\/wordpress.org\/support\/article\/hardening-wordpress\/\" rel=\"noopener\" target=\"_blank\">Hardening WordPress<\/a>.<\/strong>\u00a0The WordPress Codex itself makes an excellent starting point for digging deeper, and there&#8217;s no better place to start on there than the section on securing WordPress.<\/li>\n<li><strong><a href=\"https:\/\/blog.sucuri.net\/\" rel=\"noopener\" target=\"_blank\">Sucuri.net<\/a>.<\/strong> In addition to helping surface this year&#8217;s plugin problems, the good people over at Sucuri have been keeping tabs on WordPress security concerns for a considerable amount of time. Their\u00a0<a href=\"https:\/\/blog.sucuri.net\/2014\/09\/understanding-the-wordpress-security-plugin-ecosystem.html\" rel=\"noopener\" target=\"_blank\">blog<\/a> is an excellent resource on online security in general and WordPress in particular.<\/li>\n<\/ol>\n<h2>Conclusion<\/h2>\n<p>As you can see from both the historical episodes we&#8217;ve highlighted here and the current series of exploits making waves in 2015, security is a subject that WordPress owners need to constantly keep on top of.<\/p>\n<p>The platform itself has taken significant steps over the years to put together a world-class security team, and its reaction to individual exploits has very rarely been less than immediate.<\/p>\n<p>Regular updates and attention to the sort of security resources we mentioned towards the end of the article remain the best way to keep things safe if you are managing your own site.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPress has fallen victim to a number of serious security exploits over the years but has also established a hard-won reputation for responding swiftly and decisively to attacks. We examine the biggest exploits and how you can tighten security on your own site.<\/p>\n","protected":false},"author":37930,"featured_media":142496,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"blog_reading_time":"","wds_primary_category":0,"wds_primary_tutorials_categories":0,"footnotes":""},"categories":[557,10468],"tags":[10810],"tutorials_categories":[],"class_list":["post-142224","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development","category-reviews-opinion","tag-wordpress-security"],"_links":{"self":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/142224","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/users\/37930"}],"replies":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/comments?post=142224"}],"version-history":[{"count":41,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/142224\/revisions"}],"predecessor-version":[{"id":222831,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/142224\/revisions\/222831"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/media\/142496"}],"wp:attachment":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/media?parent=142224"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/categories?post=142224"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/tags?post=142224"},{"taxonomy":"tutorials_categories","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/tutorials_categories?post=142224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}