Wordfence Security – Firewall, Malware Scan, and Login Security

Slug: wordfence · Mark Maunder · 5,000,000+

Actively maintained
Wordfence Security – Firewall, Malware Scan, and Login Security banner image

Overall Score

Some areas need attention

70
Needs Review

What this score means

Scores are calculated on a 100-point scale by analysing six weighted categories: Security, WP.org Readiness, Performance, Code Quality, Accessibility, and Vulnerabilities.

  • Excellent The plugin follows best practices across every measured category. It is well-maintained, low-risk, and recommended for production use.
  • Good Strong overall quality with minor areas for improvement. Generally safe to use on most sites.
  • Needs Review Some areas of concern detected. Review the full issues report and weigh the risks before installing on production.
  • High Risk Significant quality or security problems found. Exercise caution — check the details carefully before using this plugin.
Score computed: May 21, 2026 6:49 pm (22 hours ago). Vulnerability data mode: Live.
  • Wordfence: May 22, 2026 4:33 pm (20 minutes ago)

No known open vulnerabilities found.

Score Breakdown

Shield
Security
0
High Risk
Why this score?

Top deductions are based on 2 affected rules, reducing this category by 218 total points.

Rule Hits Impact Share
Security issue: Warning 52 -208 95.4%
Security issue: Error 1 -10 4.6%
W
WP.org Readiness
100
Excellent
Why this score?

Top deductions are based on 0 affected rules, reducing this category by 0 total points.

No deductions were applied for this category in the latest score run.

Speed
Performance
97
Excellent
Why this score?

Top deductions are based on 1 affected rules, reducing this category by 3 total points.

Rule Hits Impact Share
Performance issue: Warning 1 -3 100%
Code
Code Quality
100
Excellent
Why this score?

Top deductions are based on 0 affected rules, reducing this category by 0 total points.

No deductions were applied for this category in the latest score run.

A11y
Accessibility
82
Good
Why this score?

Top deductions are based on 1 affected rules, reducing this category by 18 total points.

Rule Hits Impact Share
Accessibility issue: Warning 9 -18 100%
Bug
Vulnerability Status
100
Excellent
Why this score?

Top deductions are based on 0 affected rules, reducing this category by 0 total points.

No deductions were applied for this category in the latest score run.

Plugin Details

  • Version: 8.2.2
  • Active Installs: 5,000,000+
  • Last Updated: 2026-05-13 15:42:00
  • Tested up to: 7.0
  • Requires PHP: 7.0
  • Rating: 4.7/5 (4,905 ratings)
  • Support: 112/147 resolved (76%)
  • View on WordPress.org
  • Download Plugin

Scan Summary

  • Errors: 1
  • Warnings: 62
  • Notices: 0
  • Last Scanned: 2026-05-21 17:49:36
Scans are performed automatically once per day.

What Changed Since Last Scan

Comparing latest scan (2026-05-21 17:49:36) to previous scan (2026-05-19 18:07:13).
New: 0 Resolved: 0 Worsened: 0

New Issues

No items in this category.

Resolved Issues

No items in this category.

Worsened Issues

No items in this category.

Detected Issues

Severity Category Message File Fix Guidance
WARNING SECURITY Declared minimum PHP 7.0 is end-of-life and no longer receives security updates.
Quick Increase minimum PHP version to a currently supported branch.
Moderate Audit dependencies and code for compatibility with modern PHP runtime behavior.
Advanced Track upstream PHP lifecycle changes and schedule proactive baseline upgrades.
WARNING SECURITY Declared minimum WordPress 4.7 is very outdated and lacks modern security APIs.
Quick Raise minimum WordPress version to a modern supported release.
Moderate Replace deprecated APIs and confirm compatibility across current WordPress branches.
Advanced Run multi-version WordPress integration tests in CI and block unsupported API usage.
WARNING SECURITY Use of base64_decode() detected. waf/bootstrap.php
Quick Ensure any encoded payloads are necessary, documented, and never used to obscure executable logic.
Moderate Apply the same remediation pattern across security findings and re-scan to confirm warning issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
WARNING SECURITY Use of base64_decode() detected. waf/wfWAFIPBlocksController.php
Quick Ensure any encoded payloads are necessary, documented, and never used to obscure executable logic.
Moderate Apply the same remediation pattern across security findings and re-scan to confirm warning issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. models/block/wfBlock.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. modules/login-security/classes/utility/multisite.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Use of unserialize() detected. modules/login-security/classes/utility/serialization.php
Quick Switch the flagged payload to JSON decoding where practical.
Moderate If serialization is required, enforce allowed_classes=false and strict input validation before parsing.
Advanced Move state transfer to signed/typed schemas and add security tests for malformed payloads.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. modules/login-security/classes/controller/db.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Raw superglobal access detected. modules/login-security/classes/controller/ajax.php
Quick Wrap direct request values with sanitization and nonce verification in the affected code path.
Moderate Centralize request normalization in helper methods so handlers consume validated input only.
Advanced Adopt typed request DTOs and automated security lint checks for unsanitized superglobal access.
WARNING SECURITY Use of base64_decode() detected. modules/login-security/classes/controller/users.php
Quick Ensure any encoded payloads are necessary, documented, and never used to obscure executable logic.
Moderate Apply the same remediation pattern across security findings and re-scan to confirm warning issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
WARNING SECURITY Use of unserialize() detected. modules/login-security/classes/controller/users.php
Quick Switch the flagged payload to JSON decoding where practical.
Moderate If serialization is required, enforce allowed_classes=false and strict input validation before parsing.
Advanced Move state transfer to signed/typed schemas and add security tests for malformed payloads.
WARNING SECURITY Raw superglobal access detected. modules/login-security/classes/controller/users.php
Quick Wrap direct request values with sanitization and nonce verification in the affected code path.
Moderate Centralize request normalization in helper methods so handlers consume validated input only.
Advanced Adopt typed request DTOs and automated security lint checks for unsanitized superglobal access.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. modules/login-security/classes/controller/users.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Raw superglobal access detected. modules/login-security/classes/controller/wordfencels.php
Quick Wrap direct request values with sanitization and nonce verification in the affected code path.
Moderate Centralize request normalization in helper methods so handlers consume validated input only.
Advanced Adopt typed request DTOs and automated security lint checks for unsanitized superglobal access.
WARNING PERFORMANCE flush_rewrite_rules() detected. modules/login-security/classes/controller/wordfencels.php
Quick Only flush rewrite rules during activation or explicit maintenance flows.
Moderate Apply the same remediation pattern across performance findings and re-scan to confirm warning issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. modules/login-security/classes/controller/permissions.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. modules/login-security/classes/controller/totp.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. modules/login-security/classes/model/settings/db.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Use of base64_decode() detected. modules/login-security/classes/model/crypto/jwt.php
Quick Ensure any encoded payloads are necessary, documented, and never used to obscure executable logic.
Moderate Apply the same remediation pattern across security findings and re-scan to confirm warning issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
WARNING SECURITY Use of base64_decode() detected. modules/login-security/classes/model/crypto/symmetric.php
Quick Ensure any encoded payloads are necessary, documented, and never used to obscure executable logic.
Moderate Apply the same remediation pattern across security findings and re-scan to confirm warning issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
WARNING SECURITY Use of base64_decode() detected. lib/wordfenceURLHoover.php
Quick Ensure any encoded payloads are necessary, documented, and never used to obscure executable logic.
Moderate Apply the same remediation pattern across security findings and re-scan to confirm warning issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
WARNING SECURITY Use of base64_decode() detected. lib/wordfenceClass.php
Quick Ensure any encoded payloads are necessary, documented, and never used to obscure executable logic.
Moderate Apply the same remediation pattern across security findings and re-scan to confirm warning issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
WARNING SECURITY Raw superglobal access detected. lib/wordfenceClass.php
Quick Wrap direct request values with sanitization and nonce verification in the affected code path.
Moderate Centralize request normalization in helper methods so handlers consume validated input only.
Advanced Adopt typed request DTOs and automated security lint checks for unsanitized superglobal access.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. lib/wordfenceClass.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING ACCESSIBILITY Image markup without an alt attribute detected. lib/menu_wordfence_central.php
Quick Add alt attributes to the flagged image tags, or alt="" for decorative images.
Moderate Audit all templates/components for missing alternative text and update content guidelines.
Advanced Integrate accessibility testing in CI (axe/pa11y) and block releases with critical a11y violations.
WARNING SECURITY Use of base64_decode() detected. lib/wfLog.php
Quick Ensure any encoded payloads are necessary, documented, and never used to obscure executable logic.
Moderate Apply the same remediation pattern across security findings and re-scan to confirm warning issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. lib/wfLog.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. lib/wfCredentialsController.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Raw superglobal access detected. lib/diffResult.php
Quick Wrap direct request values with sanitization and nonce verification in the affected code path.
Moderate Centralize request normalization in helper methods so handlers consume validated input only.
Advanced Adopt typed request DTOs and automated security lint checks for unsanitized superglobal access.
WARNING ACCESSIBILITY Image markup without an alt attribute detected. lib/email_newIssues.php
Quick Add alt attributes to the flagged image tags, or alt="" for decorative images.
Moderate Audit all templates/components for missing alternative text and update content guidelines.
Advanced Integrate accessibility testing in CI (axe/pa11y) and block releases with critical a11y violations.
ERROR SECURITY Use of eval() detected. lib/wordfenceScanner.php
Quick Comment out or remove eval() usage in the flagged file and verify behavior with existing plugin flows.
Moderate Refactor the dynamic logic into explicit conditional branches or a vetted callback map.
Advanced Add static analysis and CI rules to block eval() and require code review approval for dynamic execution paths.
WARNING ACCESSIBILITY Image markup without an alt attribute detected. lib/menu_tools_auditlog.php
Quick Add alt attributes to the flagged image tags, or alt="" for decorative images.
Moderate Audit all templates/components for missing alternative text and update content guidelines.
Advanced Integrate accessibility testing in CI (axe/pa11y) and block releases with critical a11y violations.
WARNING SECURITY Raw superglobal access detected. lib/wfScanEngine.php
Quick Wrap direct request values with sanitization and nonce verification in the affected code path.
Moderate Centralize request normalization in helper methods so handlers consume validated input only.
Advanced Adopt typed request DTOs and automated security lint checks for unsanitized superglobal access.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. lib/wfScanEngine.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Use of base64_decode() detected. lib/wfActivityReport.php
Quick Ensure any encoded payloads are necessary, documented, and never used to obscure executable logic.
Moderate Apply the same remediation pattern across security findings and re-scan to confirm warning issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. lib/wfDiagnostic.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Raw superglobal access detected. lib/menu_options.php
Quick Wrap direct request values with sanitization and nonce verification in the affected code path.
Moderate Centralize request normalization in helper methods so handlers consume validated input only.
Advanced Adopt typed request DTOs and automated security lint checks for unsanitized superglobal access.
WARNING SECURITY Raw superglobal access detected. lib/menu_firewall_blocking_options.php
Quick Wrap direct request values with sanitization and nonce verification in the affected code path.
Moderate Centralize request normalization in helper methods so handlers consume validated input only.
Advanced Adopt typed request DTOs and automated security lint checks for unsanitized superglobal access.
WARNING SECURITY Raw superglobal access detected. lib/menu_firewall_waf_options.php
Quick Wrap direct request values with sanitization and nonce verification in the affected code path.
Moderate Centralize request normalization in helper methods so handlers consume validated input only.
Advanced Adopt typed request DTOs and automated security lint checks for unsanitized superglobal access.
WARNING SECURITY Raw superglobal access detected. lib/wfScan.php
Quick Wrap direct request values with sanitization and nonce verification in the affected code path.
Moderate Centralize request normalization in helper methods so handlers consume validated input only.
Advanced Adopt typed request DTOs and automated security lint checks for unsanitized superglobal access.
WARNING SECURITY Use of unserialize() detected. lib/wfIssues.php
Quick Switch the flagged payload to JSON decoding where practical.
Moderate If serialization is required, enforce allowed_classes=false and strict input validation before parsing.
Advanced Move state transfer to signed/typed schemas and add security tests for malformed payloads.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. lib/wfIssues.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Raw superglobal access detected. lib/wfSupportController.php
Quick Wrap direct request values with sanitization and nonce verification in the affected code path.
Moderate Centralize request normalization in helper methods so handlers consume validated input only.
Advanced Adopt typed request DTOs and automated security lint checks for unsanitized superglobal access.
WARNING SECURITY Use of unserialize() detected. lib/wfBrowscap.php
Quick Switch the flagged payload to JSON decoding where practical.
Moderate If serialization is required, enforce allowed_classes=false and strict input validation before parsing.
Advanced Move state transfer to signed/typed schemas and add security tests for malformed payloads.
WARNING SECURITY Raw superglobal access detected. lib/wfAlerts.php
Quick Wrap direct request values with sanitization and nonce verification in the affected code path.
Moderate Centralize request normalization in helper methods so handlers consume validated input only.
Advanced Adopt typed request DTOs and automated security lint checks for unsanitized superglobal access.
WARNING SECURITY Raw superglobal access detected. lib/menu_scanner_options.php
Quick Wrap direct request values with sanitization and nonce verification in the affected code path.
Moderate Centralize request normalization in helper methods so handlers consume validated input only.
Advanced Adopt typed request DTOs and automated security lint checks for unsanitized superglobal access.
WARNING SECURITY Use of base64_decode() detected. lib/wfConfig.php
Quick Ensure any encoded payloads are necessary, documented, and never used to obscure executable logic.
Moderate Apply the same remediation pattern across security findings and re-scan to confirm warning issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
WARNING SECURITY Use of unserialize() detected. lib/wfConfig.php
Quick Switch the flagged payload to JSON decoding where practical.
Moderate If serialization is required, enforce allowed_classes=false and strict input validation before parsing.
Advanced Move state transfer to signed/typed schemas and add security tests for malformed payloads.
WARNING SECURITY Raw superglobal access detected. lib/wfConfig.php
Quick Wrap direct request values with sanitization and nonce verification in the affected code path.
Moderate Centralize request normalization in helper methods so handlers consume validated input only.
Advanced Adopt typed request DTOs and automated security lint checks for unsanitized superglobal access.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. lib/wfConfig.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Use of base64_decode() detected. lib/wfJWT.php
Quick Ensure any encoded payloads are necessary, documented, and never used to obscure executable logic.
Moderate Apply the same remediation pattern across security findings and re-scan to confirm warning issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. lib/rest-api/wfRESTConfigController.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. lib/wfDB.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING SECURITY Use of base64_decode() detected. lib/wfUtils.php
Quick Ensure any encoded payloads are necessary, documented, and never used to obscure executable logic.
Moderate Apply the same remediation pattern across security findings and re-scan to confirm warning issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
WARNING SECURITY Use of unserialize() detected. lib/wfUtils.php
Quick Switch the flagged payload to JSON decoding where practical.
Moderate If serialization is required, enforce allowed_classes=false and strict input validation before parsing.
Advanced Move state transfer to signed/typed schemas and add security tests for malformed payloads.
WARNING SECURITY Direct database query detected without an immediately visible $wpdb->prepare() wrapper. lib/wfUtils.php
Quick Wrap dynamic SQL arguments with $wpdb->prepare() in the flagged query.
Moderate Refactor repeated SQL into repository/helper methods that enforce prepared statements by default.
Advanced Add integration tests and static checks that fail builds when direct dynamic SQL is introduced.
WARNING ACCESSIBILITY Image markup without an alt attribute detected. views/onboarding/fresh-install.php
Quick Add alt attributes to the flagged image tags, or alt="" for decorative images.
Moderate Audit all templates/components for missing alternative text and update content guidelines.
Advanced Integrate accessibility testing in CI (axe/pa11y) and block releases with critical a11y violations.
WARNING SECURITY Use of base64_decode() detected. views/waf/debug.php
Quick Ensure any encoded payloads are necessary, documented, and never used to obscure executable logic.
Moderate Apply the same remediation pattern across security findings and re-scan to confirm warning issues drop.
Advanced Add automated linting, CI checks, and team review guidance so this issue class is prevented in future releases.
WARNING ACCESSIBILITY Image markup without an alt attribute detected. views/common/block-navigation-option.php
Quick Add alt attributes to the flagged image tags, or alt="" for decorative images.
Moderate Audit all templates/components for missing alternative text and update content guidelines.
Advanced Integrate accessibility testing in CI (axe/pa11y) and block releases with critical a11y violations.
WARNING ACCESSIBILITY Image markup without an alt attribute detected. views/reports/activity-report-email-inline.php
Quick Add alt attributes to the flagged image tags, or alt="" for decorative images.
Moderate Audit all templates/components for missing alternative text and update content guidelines.
Advanced Integrate accessibility testing in CI (axe/pa11y) and block releases with critical a11y violations.
WARNING ACCESSIBILITY Image markup without an alt attribute detected. views/reports/activity-report.php
Quick Add alt attributes to the flagged image tags, or alt="" for decorative images.
Moderate Audit all templates/components for missing alternative text and update content guidelines.
Advanced Integrate accessibility testing in CI (axe/pa11y) and block releases with critical a11y violations.
WARNING ACCESSIBILITY Image markup without an alt attribute detected. views/unsupported-php/admin-message.php
Quick Add alt attributes to the flagged image tags, or alt="" for decorative images.
Moderate Audit all templates/components for missing alternative text and update content guidelines.
Advanced Integrate accessibility testing in CI (axe/pa11y) and block releases with critical a11y violations.
WARNING ACCESSIBILITY Image markup without an alt attribute detected. views/unsupported-wp/admin-message.php
Quick Add alt attributes to the flagged image tags, or alt="" for decorative images.
Moderate Audit all templates/components for missing alternative text and update content guidelines.
Advanced Integrate accessibility testing in CI (axe/pa11y) and block releases with critical a11y violations.

Score History

Range Change: 0 pts · All-Time High: 70/100