methodology / Security & Infrastructure / #6
WordPress REST API user enumeration exposure
#6 · Required · Web Standards · security · Security & Infrastructure · weight 3.3% · impl implemented · method v1.2.0
Web Standards item — Security
This factor is part of Web Standards — the table-stakes binary layer of the score. It is graded pass/fail and gates the Web Quality score; it is not weighted into Web Quality itself.
- Pass criteria
- Strict — passes only on pass.
- Web Standards label
- No WordPress user enumeration
- Why it's required
- When WordPress, the REST API leaking usernames hands attackers half of every credential pair. Strict pass — n/a on non-WP.
What this means for your business
A default WordPress setting publishes a list of every login name on your site, which attackers feed straight into password-guessing tools. Turning it off takes one plugin or one line of config.
Plain title: WordPress isn't leaking your usernames
What we measure
WordPress ships with a public API that lists every user account on your site by default — including your admin login names. Anyone can see them in seconds. That's half the information a hacker needs to attempt a break-in.
How to improve your score
Block `/wp-json/wp/v2/users` via a security plugin (Wordfence, iThemes Security) or by adding a `functions.php` filter that returns an empty array for unauthenticated requests.
Facts
When this applies
Only relevant for WordPress sites.
- Only scored when platform is one of: wordpress, woocommerce.
Scoring
Scoring formulas are versioned with the methodology. The current method (v1.2.0) maps raw measurements to pass, warn, fail. Factor weights determine how much each contributes to the composite — see the methodology index for the full table.
Cited by these standards
Standards in the Standards Library whose satisfiedBy requirement tree references this factor. Each link goes to the standard's full entry — methodology, scope, and the other factors it relies on.
Version history
| Version | Change | Date |
|---|---|---|
| v1.2.0 | Factor introduced. Status: live. Scoring impl: implemented. | 2026-04-28 |