# Security & Malware scan by CleanTalk <= 2.190 - Unauthenticated Authentication Bypass via Two-Factor Authentication Code Brute Force

- **ID:** WPSEC-2026-1816
- **Plugin:** Security Plugin, Firewall & Malware Scanner with Auto Removal (`security-malware-firewall`), https://wordpress.org/plugins/security-malware-firewall/
- **Affected versions:** all versions before 2.191
- **Fixed in:** 2.191 (Update to 2.191 or later.)
- **Severity:** High 8.1 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H)
- **Weakness:** CWE-287
- **Usage among sites WPSec scans:** plugin Low, affected versions Low (as of 2026-10-28)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/security-malware-firewall
- **Fix released:** 2026-10-27
- **Published:** 2026-10-28
- **URL:** https://wpsec.com/vuln/WPSEC-2026-1816/

## Description

The Security Plugin, Firewall & Malware Scanner with Auto Removal plugin for WordPress is vulnerable to Authentication Bypass via the two-factor authentication code check on the login form in all versions up to, and including, 2.190, due to the spbc_2fa__authenticate() function logging in any user named in the 'log' parameter when the submitted 'spbc_2fa' code matches, without checking that the password step was completed for that request. Per-user attempts were not limited (only a per-IP rate limit applied), codes were compared loosely with no replay protection, and secrets and e-mail codes were generated with rand(). This makes it possible for unauthenticated attackers who know the username of an account that uses an authenticator app for two-factor authentication to brute-force or replay the 6-digit code and log in as that user without the password, when the plugin's 2FA feature is enabled.

## References

- https://wpsec.com/vuln/WPSEC-2026-1816/
- https://plugins.svn.wordpress.org/security-malware-firewall/tags/2.191/
- https://wordpress.org/plugins/security-malware-firewall/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-1816/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
