WebAuthn Provider for Two Factor Security & Risk Analysis

wordpress.org/plugins/two-factor-provider-webauthn

WebAuthn authentication provider for Two Factor plugin.

1K active installs v2.6.1 PHP 8.1+ WP 6.0+ Updated Mar 12, 2026
2faloginsecuritytwo-factorwebauthn
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is WebAuthn Provider for Two Factor Safe to Use in 2026?

Generally Safe

Score 100/100

WebAuthn Provider for Two Factor has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 22d ago
Risk Assessment

The "two-factor-provider-webauthn" plugin v2.6.1 presents a mixed security posture. On the positive side, it demonstrates strong output escaping practices with 100% of outputs being properly escaped, and it has no recorded vulnerability history (CVEs), suggesting a generally well-maintained codebase. Furthermore, the vast majority of its SQL queries utilize prepared statements, mitigating common SQL injection risks. However, the plugin has significant security concerns stemming from its attack surface. All four identified AJAX handlers lack authentication checks, creating a direct entry point for unauthenticated users. This is a critical weakness. The presence of two "unserialize" function calls also warrants caution, as improper handling of serialized data can lead to serious vulnerabilities like remote code execution or denial-of-service attacks, especially when the source of the serialized data is not strictly controlled. While taint analysis showed no critical or high severity flows, the combination of unprotected AJAX endpoints and the potential risk of unserialization, without further context on how these are handled, raises concerns.

In conclusion, while the plugin excels in output sanitation and has a clean vulnerability record, the unprotected AJAX endpoints and the use of unserialize are substantial weaknesses that expose the site to potential attacks. The absence of a robust vulnerability history is a good sign, but it doesn't negate the immediate risks identified in the code analysis. Addressing the unprotected AJAX handlers and carefully reviewing the usage of `unserialize` should be prioritized.

Key Concerns

  • Unprotected AJAX handlers
  • Dangerous function 'unserialize' used
Vulnerabilities
None known

WebAuthn Provider for Two Factor Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 16, 2026

WebAuthn Provider for Two Factor Code Analysis

Dangerous Functions
2
Raw SQL Queries
2
16 prepared
Unescaped Output
0
29 escaped
Nonce Checks
1
Capability Checks
1
File Operations
0
External Requests
0
Bundled Libraries
1

Dangerous Functions Found

unserialize$context = unserialize( base64_decode( $context ) ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFuninc\class-ajax.php:149
unserialize$context = unserialize( base64_decode( $context ) ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFuninc\class-webauthn-provider.php:122

Bundled Libraries

Guzzle

SQL Query Safety

89% prepared18 total queries

Output Escaping

100% escaped29 total outputs
Attack Surface
4 unprotected

WebAuthn Provider for Two Factor Attack Surface

Entry Points4
Unprotected4

AJAX Handlers 4

authwp_ajax_webauthn_preregisterinc\class-ajax.php:29
authwp_ajax_webauthn_registerinc\class-ajax.php:30
authwp_ajax_webauthn_delete_keyinc\class-ajax.php:31
authwp_ajax_webauthn_rename_keyinc\class-ajax.php:32
WordPress Hooks 12
actionadmin_menuinc\class-admin.php:20
actionadmin_initinc\class-admin.php:21
actiontwo_factor_user_options_TwoFactor_Provider_WebAuthninc\class-admin.php:25
actionadmin_enqueue_scriptsinc\class-admin.php:26
actionadmin_initinc\class-admin.php:29
actionplugins_loadedinc\class-plugin.php:21
actioninitinc\class-plugin.php:22
actioninitinc\class-plugin.php:25
filtertwo_factor_providersinc\class-plugin.php:34
filterload_script_translation_fileinc\class-webauthn-provider.php:42
filtertwo_factor_enabled_providers_for_userinc\class-webauthn-provider.php:46
filtertwo_factor_primary_provider_for_userinc\class-webauthn-provider.php:50
Maintenance & Trust

WebAuthn Provider for Two Factor Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedMar 12, 2026
PHP min version8.1
Downloads35K

Community Trust

Rating92/100
Number of ratings11
Active installs1K
Developer Profile

WebAuthn Provider for Two Factor Developer Profile

Volodymyr Kolesnykov

1 plugin · 1K total installs

94
trust score
Avg Security Score
100/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect WebAuthn Provider for Two Factor

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/two-factor-provider-webauthn/assets/profile.min.js/wp-content/plugins/two-factor-provider-webauthn/assets/profile.css/wp-content/plugins/two-factor-provider-webauthn/assets/login.min.js
Script Paths
/wp-content/plugins/two-factor-provider-webauthn/assets/profile.min.js/wp-content/plugins/two-factor-provider-webauthn/assets/login.min.js
Version Parameters
two-factor-provider-webauthn/assets/profile.min.js?ver=two-factor-provider-webauthn/assets/profile.css?ver=two-factor-provider-webauthn/assets/login.min.js?ver=

HTML / DOM Fingerprints

Data Attributes
data-webauthn-register-key-nonce
JS Globals
tfa_webauthn
FAQ

Frequently Asked Questions about WebAuthn Provider for Two Factor