Bilingual Linker Security & Risk Analysis

wordpress.org/plugins/bilingual-linker

The purpose of this plugin is to allow users to add a link to a translation version of a page or post in the admin and print this link on their blog, …

70 active installs v2.4.2 PHP + WP 3.0+ Updated Sep 28, 2025
bilinguallinktranslation
99
A · Safe
CVEs total1
Unpatched0
Last CVEJan 24, 2025
Safety Verdict

Is Bilingual Linker Safe to Use in 2026?

Generally Safe

Score 99/100

Bilingual Linker has a strong security track record. Known vulnerabilities have been patched promptly. It's a solid choice for most WordPress installations.

1 known CVELast CVE: Jan 24, 2025Updated 7mo ago
Risk Assessment

The 'bilingual-linker' plugin v2.4.2 presents a mixed security posture. While it demonstrates some good practices such as a lack of file operations and external HTTP requests, and the use of prepared statements for a portion of its SQL queries, significant concerns arise from its attack surface and output sanitization.

The plugin has a small but notable attack surface, with one REST API route identified as unprotected and lacking permission callbacks. This presents a potential entry point for unauthorized actions. Furthermore, the static analysis revealed a flow with an unsanitized path, which, although not classified as critical or high severity in the taint analysis, is a red flag for potential injection vulnerabilities. The moderate rate of properly escaped outputs (49%) is a notable weakness, increasing the risk of Cross-Site Scripting (XSS) vulnerabilities, especially when combined with the unsanitized path.

The plugin's vulnerability history shows a single medium-severity CVE, specifically an XSS vulnerability, which was last recorded in 2025. While currently unpatched CVEs are zero, the past XSS vulnerability, coupled with the current findings of unsanitized paths and insufficient output escaping, suggests a pattern of potential input validation and sanitization weaknesses. The overall security is moderately concerning due to the unprotected endpoint and the risk of XSS, despite its small attack surface and absence of critical vulnerabilities in static analysis.

Key Concerns

  • Unprotected REST API route
  • Flow with unsanitized path
  • Low output escaping rate (49%)
  • Past medium severity XSS vulnerability
Vulnerabilities
1 published

Bilingual Linker Security Vulnerabilities

CVEs by Year

1 CVE in 2025
2025
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2024-13441medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Bilingual Linker <= 2.4 - Authenticated (Contributor+) Stored Cross-Site Scripting

Jan 24, 2025 Patched in 2.4.1 (6d)
Version History

Bilingual Linker Release Timeline

v2.4.2Current
v2.4.1
v2.41 CVE
v2.3.71 CVE
v2.3.61 CVE
v2.0.11 CVE
Code Analysis
Analyzed Mar 16, 2026

Bilingual Linker Code Analysis

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

SQL Query Safety

40% prepared5 total queries

Output Escaping

49% escaped63 total outputs
Data Flows · Security
1 unsanitized

Data Flow Analysis

2 flows1 with unsanitized paths
the_bilingual_link (bilingual-linker.php:603)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
1 unprotected

Bilingual Linker Attack Surface

Entry Points2
Unprotected1

REST API Routes 1

GET/wp-json/bilingual-linker/v1/languagelistbilingual-linker.php:898

Shortcodes 1

[the-bilingual-link] bilingual-linker.php:816
WordPress Hooks 19
actionadmin_menubilingual-linker.php:80
actionadmin_initbilingual-linker.php:81
filteradmin_enqueue_scriptsbilingual-linker.php:82
actionedit_postbilingual-linker.php:83
actionsave_postbilingual-linker.php:84
actioncategory_edit_form_fieldsbilingual-linker.php:85
actioncategory_add_form_fieldsbilingual-linker.php:86
actionpost_tag_edit_form_fieldsbilingual-linker.php:87
actionpost_tag_add_form_fieldsbilingual-linker.php:88
actionedited_categorybilingual-linker.php:89
actionedited_post_tagbilingual-linker.php:90
actioncreated_categorybilingual-linker.php:91
actioncreated_post_tagbilingual-linker.php:92
actionadmin_post_save_bl_optionsbilingual-linker.php:98
filterplugin_action_linksbilingual-linker.php:227
actioninitbilingual-linker.php:781
filterwalker_nav_menu_start_elbilingual-linker.php:823
actionwp_headbilingual-linker.php:856
actionrest_api_initbilingual-linker.php:895
Maintenance & Trust

Bilingual Linker Maintenance & Trust

Maintenance Signals

WordPress version tested6.7.5
Last updatedSep 28, 2025
PHP min version
Downloads14K

Community Trust

Rating80/100
Number of ratings6
Active installs70
Developer Profile

Bilingual Linker Developer Profile

Yannick Lefebvre

8 plugins · 11K total installs

73
trust score
Avg Security Score
91/100
Avg Patch Time
498 days
View full developer profile
Detection Fingerprints

How We Detect Bilingual Linker

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/bilingual-linker/css/bilingual-linker.css/wp-content/plugins/bilingual-linker/js/bilingual-linker.js
Script Paths
/wp-content/plugins/bilingual-linker/js/bilingual-linker.js
Version Parameters
bilingual-linker/css/bilingual-linker.css?ver=bilingual-linker/js/bilingual-linker.js?ver=

HTML / DOM Fingerprints

CSS Classes
menu-item-classes-bilingual-linklangid-1
Data Attributes
menu-item-lang-selectormenu-item-title-bilingual-linkermenu-item-urlmenu-item-classes-bilingual-link
JS Globals
jQuery
FAQ

Frequently Asked Questions about Bilingual Linker