nLingual Security & Risk Analysis

wordpress.org/plugins/nlingual

A simple but flexible multilingual system. Features custom language management, post data synchronization and theme/plugin development utilities.

30 active installs v2.10.0.1 PHP 7.0.0+ WP 6.2.0+ Updated Nov 7, 2024
bilinguallanguagemultilingualtranslation
92
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is nLingual Safe to Use in 2026?

Generally Safe

Score 92/100

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

No known CVEs Updated 1yr ago
Risk Assessment

The nlingual plugin v2.10.0.1 presents a generally strong security posture based on the static analysis. There are no identified critical or high severity taint flows, a low percentage of SQL queries lacking prepared statements, and a reasonable rate of output escaping. The plugin also incorporates a healthy number of nonce and capability checks, indicating an awareness of common WordPress security practices. The absence of any recorded vulnerabilities or CVEs in its history further contributes to this positive assessment, suggesting a stable and well-maintained codebase.

However, the analysis does reveal some areas for improvement. While the overall SQL query security is decent, 35% of queries are not using prepared statements, which represents a potential risk for SQL injection vulnerabilities if these queries handle user-supplied input without proper sanitization. Similarly, the output escaping rate, while above 50%, still means that 31% of outputs are not properly escaped, posing a risk of cross-site scripting (XSS) vulnerabilities. The presence of file operations, while not inherently insecure, warrants attention to ensure proper sanitization of any file paths handled by the plugin.

In conclusion, nlingual v2.10.0.1 appears to be a relatively secure plugin with good security practices in place. The strengths lie in its low attack surface, lack of critical taint issues, and clean vulnerability history. The weaknesses, though not critical at this stage, are the unescaped outputs and SQL queries without prepared statements, which are common entry points for vulnerabilities. Addressing these specific areas would further enhance the plugin's security.

Key Concerns

  • SQL queries without prepared statements
  • Unescaped output found
Vulnerabilities
None known

nLingual Security Vulnerabilities

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

nLingual Code Analysis

Dangerous Functions
0
Raw SQL Queries
16
30 prepared
Unescaped Output
39
85 escaped
Nonce Checks
9
Capability Checks
4
File Operations
1
External Requests
0
Bundled Libraries
0

SQL Query Safety

65% prepared46 total queries

Output Escaping

69% escaped124 total outputs
Data Flows
All sanitized

Data Flow Analysis

2 flows
new_translation (includes\class-nlingual-backend.php:1365)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

nLingual Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 4
filterthe_titleincludes\class-nlingual-liaison.php:86
filteroption_blognameincludes\class-nlingual-liaison.php:90
filteroption_blogdescriptionincludes\class-nlingual-liaison.php:91
actionswitch_blogincludes\class-nlingual-system.php:368
Maintenance & Trust

nLingual Maintenance & Trust

Maintenance Signals

WordPress version tested6.6.5
Last updatedNov 7, 2024
PHP min version7.0.0
Downloads12K

Community Trust

Rating80/100
Number of ratings4
Active installs30
Developer Profile

nLingual Developer Profile

Doug Wollison

7 plugins · 1K total installs

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

How We Detect nLingual

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/nlingual/assets/css/editor.css/wp-content/plugins/nlingual/assets/css/nlingual.css/wp-content/plugins/nlingual/assets/js/editor.js/wp-content/plugins/nlingual/assets/js/nlingual.js/wp-content/plugins/nlingual/assets/js/nlingual-admin.js/wp-content/plugins/nlingual/assets/js/nlingual-frontend.js
Script Paths
/wp-content/plugins/nlingual/assets/js/nlingual-admin.js/wp-content/plugins/nlingual/assets/js/nlingual-frontend.js
Version Parameters
nlingual/assets/css/editor.css?ver=nlingual/assets/css/nlingual.css?ver=nlingual/assets/js/editor.js?ver=nlingual/assets/js/nlingual.js?ver=nlingual/assets/js/nlingual-admin.js?ver=nlingual/assets/js/nlingual-frontend.js?ver=

HTML / DOM Fingerprints

CSS Classes
nlingual-meta-boxnlingual-language-labelnlingual-language-switchernlingual-translation-linknlingual-post-language-columnnlingual-quick-edit-languagenlingual-bulk-edit-language
HTML Comments
<!-- BEGIN nLingual Post Language Meta Box --><!-- END nLingual Post Language Meta Box --><!-- nLingual Translation Data -->
Data Attributes
data-nlingual-post-iddata-nlingual-language-iddata-nlingual-sync-iddata-nlingual-editor-mode
JS Globals
window.nLingualAdminwindow.nLingualFrontend
REST Endpoints
/wp-json/nlingual/v1/languages/wp-json/nlingual/v1/posts/wp-json/nlingual/v1/translations
Shortcode Output
[nlingual_language_switcher][nlingual_translation_button]
FAQ

Frequently Asked Questions about nLingual