wp2shell: more than a month later. Confirm 6.8.6, 6.9.5, 7.0.2. Patched is not clean.

Read the advisory
Attacks Dictionary

Credential stuffing

Definition

Credential stuffing replays usernames and passwords stolen from other breaches against your login.

Also called: credential-stuffing

Why it matters for WordPress

People reuse passwords. When another site leaks a list, attackers try those same pairs on WordPress. They are not guessing letter by letter. They are checking whether your users recycled a password from a breach dump.

How it shows up in practice

  • Failed logins with many different usernames, each tried only a few times
  • Successful logins that look quiet (few failures) when the stuffed password was correct
  • Hits from residential proxies or rotating IPs that dodge simple bans
  • Agency shared logins that also appear in unrelated breach lists

What to do

  1. Never reuse the WordPress admin password elsewhere.
  2. Require 2FA for privileged roles.
  3. Force a password reset if you suspect a leaked account.
  4. Rate-limit logins and review unusual success locations.
  5. Treat obscure usernames as a small speed bump, not the main control.

In WP Security Ninja

Pro login protection slows repeated failures, and 2FA means a stuffed password still needs a second factor for privileged roles. The Events Logger records successes and failures so a quiet takeover is easier to spot after the fact.

Go deeper

Want the full walkthrough?

This page stays short on purpose. The guide covers steps, examples, and what to check on a live WordPress site.

Open full guide

Nearby ideas in the dictionary

All terms →

Questions about Credential stuffing

Why can stuffing succeed with almost no failed logins?+

If the stolen password is correct on the first try, the log shows a normal success. That is why reused admin passwords are dangerous, and why 2FA and reviewing unusual success locations matter as much as counting failures.

Does changing the login URL stop credential stuffing?+

No. Attackers still hit wp-login.php, XML-RPC, or known REST routes. Unique passwords and 2FA stop the account from opening even when the password is already public elsewhere.

Larger screenshot