Do you use the Contact Form 7 plugin on your WordPress website? Are you wondering how the known vulnerability in the plugin can damage your site? To tell you the truth there are good reasons to be worried. Although discovered in 2018, the Contact Form 7 vulnerability is affecting hundreds of sites to date.
We have investigated the vulnerability and have identified it as a privilege escalation. If a hacker exploit knows how to exploit it, they can take control of your site. Such an attack can have a devastating impact on your site because it allows hackers to exploit and abuse your website to run malicious activities.
Hackers gain admin privileges to your site and can lock you out. They deface your site, redirect your customers to malicious sites, steal confidential data, among a list of other hacking activities.
This can drastically increase the time and money spent on fixing all these consequences.
Luckily, you can fix the vulnerability if you act fast and take the right measures. In this step-by-step guide, we’ll show you how to fix the vulnerability and also prevent WordPress privilege escalation hacks on your site.
If you suspect your website has been hacked, install our MalCare security plugin. It will scan your WordPress site and identify the hack. You can clean your site instantly and protect your site from future attacks as well.
Contact Form 7 is one of the most popular plugins of WordPress and has more than 5 million active installations. So, any vulnerability in this plugin puts millions of sites at risk of being hacked.
Before we show you how to fix it, let’s understand this vulnerability and see how hackers can exploit it.
What Is A Privilege Escalation Vulnerability in WordPress?
Having worked with WordPress websites for over a decade, many websites have multiple people working on it.
We all know that users can have different roles – subscribers, contributors, authors, editors, admins, and super admins.
The admin and the superadmin have complete control over the WordPress website. Others have limited privileges.
Allotting proper user roles ensures that no on exploits your website. You may have to give the user access to people you don’t trust but you don’t have to make them admins.
In WordPress user roles, subscribers have the least permissions while super admins can make changes to absolutely anything on the website.
In a privilege escalation attack, hackers gain access to lower roles such as a WordPress subscriber. But in this role, they can’t do much other than view the dashboard and make changes to their own profile.
However, if they find a privilege escalation vulnerability in one of the plugins, they can exploit it to gain more permissions to the subscriber role. The vulnerability allows them to bypass restricted permissions. Like this, they gain admin status or a role where they can do significant damage.
Now, the WordPress privilege escalation vulnerability in Contact Form 7 is slightly different. Let’s take a look.
Technical Details Of WordPress Privilege Escalation Vulnerability In Contact Form 7
This section is a bit technical but if you’re using the Contact Form 7 plugin on your WordPress site, it’s good to be aware of what’s happening.
Two vulnerability points in this plugin could enable hackers to modify content and upload their own file attachments to your site. Let’s take a look at both:
Modifying Content And Accessing Sensitive Files
To understand how this WordPress vulnerability, you need to take note of a few points first:
- The content of this form is stored in a folder called wp-content on your WordPress website. It usually contains all the data related to your content but doesn’t have files that contain sensitive data of your site.
- Outside this folder, there are files such as your wp-config file and .htaccess file that contain database credentials and configurations of your website.
- If a hacker gets their hands on these files placed outside, they can hijack your website and seize control of it. We can tell you it’s a bad situation if a hacker gains access to your wp-content folder but you face limited damage. But if they can access files outside of this folder, they can run very dangerous attacks.
Using the Contact Form 7 plugin, you can create various kinds of forms on your website. Ideally, only admins and editors should have access to create and edit the content of these forms.
A parameter called capability_type defines user permissions and is used to read, edit, and delete the capabilities of different users. But due to a flaw in this parameter, it allows any user role to make changes.
In technical terms, it allows absolute path file, i.e., /host/home/examplefile.pdf. This is dangerous because it enables the hacker to edit the form and grant themselves access to files outside wp-content.
Uploading Files To Your Site
Some forms accept files such as a resumè or ID proof. Standard formats like PDF, JPEG, PNG, and GIF are acceptable and shouldn’t cause any trouble on your site.
However, the Contact Form 7 plugin vulnerability could allow a user to change the types of files accepted. This means your website could start accepting files like PHP and ASP. These files execute commands and functions on your site. This means a hacker can submit a PHP file with a malicious command through the contact form.
This command could do a variety of things such as:
The list of hacking activities is a long one! It’s in your best interest to prevent such hacks by fixing security vulnerabilities like this promptly.
How To Fix The Contact Form 7 Vulnerability
There are three important steps you need to take immediately:
Update Contact Form 7
The developers of Contact Form 7 addressed the vulnerability promptly and released a new version 5.0.4.
IMPORTANT – Update the Contact Form 7 plugin to the latest version available. When developers discover security flaws in their software, they fix the issue and release a new version that contains security updates. When you update your plugin to the new version, this fixes the vulnerability on your WordPress site.
Delete Rogue Users
Check the users that have access to your site on your WordPress dashboard. Delete any that you don’t recognize. We also recommend checking the permissions granted to existing users.
Scan Your Site
If you’re using the Contact Form 7 plugin, you need to scan your site for malware immediately. You can do this with the help of a website security plugin. There are plenty available in the market, however, not all of them do a thorough job.
We recommend using our MalCare Security Plugin as it will run a deep scan of your entire website. It is designed to find any kind of malware even if it’s hidden or disguised. It will alert you if your site is hacked.
You can clean up the hack instantly by using the Auto-Clean option. The plugin will begin the automatic malware removal process and will restore your site to normal in under a few minutes.
Next, we’ll show you how to prevent such web attacks on your WordPress site.
How To Prevent Contact Form 7 Attacks?
There are a few measures you can take to safeguard your website from hacks that occur on account of security vulnerabilities like the one we just discussed.
- Install our WordPress security plugin MalCare on your site. It will scan your site completely every day and alert you if it finds anything suspicious. The plugin will stay ahead of hackers trying to break into your site and block their attacks.
- Vulnerabilities appear in themes and plugins from time to time. Make sure you update your WordPress plugins and themes as and when new versions are available. We also recommend deleting any themes and plugins that are inactive or you don’t use anymore.
- WordPress.org recommends certain website hardening measures. Implementing these steps will seal easy entry points on your site and make it very hard to hack WordPress sites.
With that, your WordPress website is secure from privilege escalation attacks and SQL Injection attacks.
WordPress themes and plugins develop vulnerabilities from time to time. It’s not uncommon to hear of even the most popular plugins announcing security fixes to their software.
This makes it all the more important to check your plugins and themes regularly and make sure you’re using the latest version available. This will safeguard your site from such vulnerabilities.
However, plugins and themes aren’t the only elements you need to worry about. Hackers find all sorts of ways to break into your site. They can use brute force attacks to guess your username and password or they can steal your browser cookies and gain access to your site. They also use Cross site scripting (XSS) vulnerabilities to attack your site.
To truly and completely protect your website from security threats and attacks, we recommend using MalCare. Its firewall will proactively block hack attempts and its scanner will check your website every day. If ever a hacker sneaks by, it will alert you and you can clean up the hack immediately. You can have peace of mind that your website is in safe hands.
Protect your site with our MalCare WordPress Security Plugin