EMLG TFA Security & Risk Analysis

wordpress.org/plugins/emlg-tfa

Two-factor authentication via out of band email

0 active installs v1.1 PHP 7.4+ WP 6.0+ Updated Feb 24, 2023
2-factor-authentication2faemail-loginemail-two-factor-authenticationlogin
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is EMLG TFA Safe to Use in 2026?

Generally Safe

Score 85/100

EMLG TFA has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 3yr ago
Risk Assessment

The emlg-tfa plugin, version 1.1, exhibits a mixed security posture. On the positive side, the code demonstrates good practices regarding SQL queries, exclusively using prepared statements, and all identified output operations are properly escaped. There is also a single nonce check and a single capability check present, indicating some awareness of security mechanisms. The absence of any recorded historical vulnerabilities or critical taint flows is also a positive sign.

However, a significant concern arises from the attack surface. The plugin exposes three AJAX handlers, all of which lack authentication checks. This means that any unauthenticated user could potentially trigger these handlers, leading to a considerable risk if the handlers perform sensitive operations or can be manipulated to cause harm. While no dangerous functions, file operations, or external HTTP requests were detected, and no shortcodes or cron events contribute to the attack surface, the unprotected AJAX endpoints represent a clear vulnerability. The vulnerability history being clean could be due to the plugin's limited exposure or simply a lack of past security issues, but the current static analysis reveals a critical weakness that needs immediate attention.

Key Concerns

  • AJAX handlers without auth checks
  • Large attack surface without auth checks
Vulnerabilities
None known

EMLG TFA Security Vulnerabilities

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

EMLG TFA Code Analysis

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

Output Escaping

100% escaped22 total outputs
Data Flows
All sanitized

Data Flow Analysis

1 flows
<submit-code> (views\submit-code.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
3 unprotected

EMLG TFA Attack Surface

Entry Points3
Unprotected3

AJAX Handlers 3

authwp_ajax_emlg_check_email_capincludes\class-emlg-ajax.php:12
authwp_ajax_emlg_preview_login_emailincludes\class-emlg-ajax.php:13
authwp_ajax_emlg_formsincludes\class-emlg-ajax.php:14
WordPress Hooks 7
actionplugins_loadedemlg-tfa.php:57
actionadmin_menuincludes\class-emlg-dashboard.php:18
actionadmin_enqueue_scriptsincludes\class-emlg-dashboard.php:19
actionwp_mail_failedincludes\class-emlg-email.php:87
filterwp_mail_content_typeincludes\class-emlg-email.php:88
actionwp_authenticateincludes\class-emlg-login.php:33
filtertemplate_includeincludes\class-emlg-login.php:34
Maintenance & Trust

EMLG TFA Maintenance & Trust

Maintenance Signals

WordPress version tested6.1.10
Last updatedFeb 24, 2023
PHP min version7.4
Downloads882

Community Trust

Rating0/100
Number of ratings0
Active installs0
Developer Profile

EMLG TFA Developer Profile

wprj

2 plugins · 20 total installs

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

How We Detect EMLG TFA

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/emlg-tfa/css/dashboard.css/wp-content/plugins/emlg-tfa/js/dashboard.js/wp-content/plugins/emlg-tfa/css/emlg-login.css
Script Paths
/wp-content/plugins/emlg-tfa/js/dashboard.js
Version Parameters
emlg-tfa/css/dashboard.css?ver=emlg-tfa/js/dashboard.js?ver=emlg-tfa/css/emlg-login.css?ver=

HTML / DOM Fingerprints

CSS Classes
emlg-tfa
Data Attributes
data-emlg_optionsdata-emlg_codemirror_settings
JS Globals
window.emlg_optionswindow.emlg_codemirror_settings
FAQ

Frequently Asked Questions about EMLG TFA