While we try to be proactive in preventing security problems, we do not assume they’ll never come up.

It is standard practice to responsibly and privately disclose to the vendor (the WordPress core development team, in this case) a security problem before publicizing, so a fix can be prepared, and damage from the vulnerability minimized.

What is a “security” issue? #

A security issue is a type of bug that can affect the security of WordPress installations.

Specifically, it is a report of a bug that you have found in the WordPress core code, and that you have determined can be used to gain some level of access to a site running WordPress that you should not have.

Your site being “hacked” is not a security issue. The security issue will involve knowing how the attacker got in and hacked the site. If you have details on the attack, then email us. If not, then the Support Forums are a better place to report such an issue.

You forgetting your password or losing access to your site is not a security issue. If you lost access through a bug in the WordPress code, then that might be a security issue.

Generally, security issues are complex problems. If you are wanting to report a security issue, then that’s great! You’re in the right place. However, be sure that what you’re reporting is actually a security issue. The experts that you are reporting it to are very busy, and don’t usually respond to non-security issues.

In other words, the security mailing addresses are NOT for support. Don’t send general problems to them.

Top ↑

Where do I report security issues? #

If you are here to report any sort of security issue with a WordPress.com site, then please send an email with complete details to security [at] automattic.com. If the issue you’re trying to report is on WordPress.com and is not a security issue, then please use their support forums instead.

If you’re having an issue with your own self-hosted WordPress.org site that is not a security issue, then please use the WordPress.org support forums.

For security issues with WordPress plugins, follow the information on Reporting Plugin Security Issues.

For security issues with the self-hosted version of WordPress, then you should send an email with the details to security [at] wordpress.org. Include as much detail as you can.

In all cases, you should not publish the details.

Top ↑

WordPress.org does not host sites. WordPress.org provides publishing software that anyone can download and use. The organization, WordPress.org, has no control over who uses the software, or how they use it. In other words, WordPress.org does NOT have the power to take down comments, posts, sites, or anything else.

Instead of trying to contact WordPress, perform a whois lookup to track down the operator or host of a particular site, then report the infringement to those organizations.

If you still can’t determine the organization, these following articles by Plagiarism Today may help:

Top ↑

I’ve been hacked. What do I do now? #

The Exploit Scanner plugin can help detect damage so that it can be cleaned up. Other things you should do:

  • Change passwords for all users, especially Administrators and Editors.
  • If you upload files to your site via FTP, change your FTP password.
  • Re-install the latest version of WordPress.
  • Make sure all of your plugins and themes are up-to-date.
  • Update your security keys.
  • See FAQ My Site Was Hacked.

Top ↑

Why are some users allowed to post unfiltered HTML? #

Users with Administrator or Editor roles are allowed to publish unfiltered HTML in post titles, post content, and comments. WordPress is, after all, a publishing tool, and people need to be able to include whatever markup they need to communicate. Users with lesser privileges are not allowed to post unfiltered content.

If you are running security tests against WordPress, use a lesser privileged user so that all content is filtered. If you are concerned about an Administrator putting XSS into content and stealing cookies, note that all cookies are marked for HTTP only delivery, and are divided into privileged cookies used for admin pages, and unprivileged cookies used for public facing pages. Content is never displayed unfiltered in the admin. Regardless, an Administrator has wide-ranging super powers, among which unfiltered HTML is a lesser one.

In WordPress Multisite, only the Super Admin can publish unfiltered HTML, as all other users are considered untrusted.

To disable unfiltered HTML for all users, including administrators, you can add define( 'DISALLOW_UNFILTERED_HTML', true ); to wp-config.php.

Top ↑

Why are there path disclosures when directly loading certain files? #

This is a server configuration problem. Never enable display_errors on a production site.

Top ↑

Why did I get this “Password Reset” email? #

If you get an email saying “Someone has asked to reset the password for the following site and username”, this means someone visited the password reset page on your site. Anyone can visit this page, since it must be open to all for it to be accessible to those who have lost their password. Your password can be reset only by those who can read your email. If your email account has not been compromised, you can ignore this email.