WP-LDP Security & Risk Analysis

wordpress.org/plugins/wp-ldp

This plugin aims to emulate the default caracteristics of a Linked Data Platform compatible server.

10 active installs v2.0.7 PHP + WP 4.4.0+ Updated Unknown
decentralizationfederationldplinked-datardf
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is WP-LDP Safe to Use in 2026?

Generally Safe

Score 100/100

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

No known CVEs
Risk Assessment

The 'wp-ldp' plugin version 2.0.7 exhibits significant security concerns due to its substantial attack surface and lack of proper authorization and sanitization measures. All identified REST API routes are unprotected, presenting a direct pathway for attackers to interact with the plugin's functionality without any permission checks. Furthermore, the presence of the `unserialize` function, coupled with a complete absence of output escaping and nonce checks, strongly suggests a high risk of deserialization vulnerabilities and cross-site scripting (XSS) attacks. The fact that 100% of SQL queries are not using prepared statements also points to a considerable risk of SQL injection vulnerabilities.

The plugin's vulnerability history is notably clean, with no recorded CVEs. While this might suggest a generally stable codebase in the past, it does not mitigate the severe risks identified in the current static analysis. The absence of past vulnerabilities could be due to factors unrelated to actual security, such as a lack of targeted research or exploitation attempts. Therefore, despite the clean history, the critical findings in the static analysis, particularly the unprotected REST API routes, the use of `unserialize` without proper checks, and the complete lack of output escaping, indicate a poor security posture that requires immediate attention.

In conclusion, 'wp-ldp' v2.0.7 has critical security weaknesses that outweigh its clean vulnerability history. The large, unprotected attack surface and the presence of dangerous coding practices like unserialization and unescaped output make it a prime target for exploitation. The absence of prepared statements for SQL queries further exacerbates these risks. The plugin requires significant security hardening to be considered safe for use.

Key Concerns

  • REST API routes without permission callbacks
  • Dangerous function: unserialize
  • SQL queries without prepared statements
  • Output escaping: 0% properly escaped
  • Nonce checks: 0
  • Capability checks: 0
  • Unprotected AJAX handlers
  • Bundled library: Select2 (potential outdated version)
  • Bundled library: jQuery (potential outdated version)
Vulnerabilities
None known

WP-LDP Security Vulnerabilities

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

WP-LDP Code Analysis

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

Dangerous Functions Found

unserialize$field_values = unserialize( $field_values );class-api.php:184

Bundled Libraries

Select2jQuery

SQL Query Safety

0% prepared3 total queries

Output Escaping

0% escaped71 total outputs
Attack Surface
6 unprotected

WP-LDP Attack Surface

Entry Points6
Unprotected6

REST API Routes 6

GET/wp-json/ldp/v1/schema/class-api.php:40
GET/wp-json/ldp/v1/(?P<ldp_container>[a-zA-Z0-9-]+)/(?P<ldp_resource>[a-zA-Z0-9-]+)class-api.php:45
GET/wp-json/ldp/v1/(?P<ldp_container>((?!sites|schema)([a-zA-Z0-9-]+)))/class-container-taxonomy.php:41
GET/wp-json/ldp/v1/search/(?P<ldp_container>((?!sites|schema)([a-zA-Z0-9-]+)))/class-container-taxonomy.php:46
GET/wp-json/ldp/v1/sites/class-site-taxonomy.php:42
GET/wp-json/ldp/v1/sites/class-site-taxonomy.php:47
WordPress Hooks 31
filterrest_url_prefixclass-api.php:38
actionrest_api_initclass-api.php:39
actioninitclass-container-taxonomy.php:33
actionldp_container_add_form_fieldsclass-container-taxonomy.php:35
actionldp_container_edit_form_fieldsclass-container-taxonomy.php:36
actioncreate_ldp_containerclass-container-taxonomy.php:37
actionedited_ldp_containerclass-container-taxonomy.php:38
actionrest_api_initclass-container-taxonomy.php:40
actionadmin_menuclass-settings.php:30
actionadmin_menuclass-settings.php:31
actionadmin_initclass-settings.php:32
actionadmin_noticesclass-settings.php:234
actioninitclass-site-taxonomy.php:33
actionldp_site_add_form_fieldsclass-site-taxonomy.php:35
actionldp_site_edit_form_fieldsclass-site-taxonomy.php:36
actioncreate_ldp_siteclass-site-taxonomy.php:38
actionedited_ldp_siteclass-site-taxonomy.php:39
actionrest_api_initclass-site-taxonomy.php:41
actioninitwp-ldp.php:69
actioninitwp-ldp.php:70
actioninitwp-ldp.php:71
actioninitwp-ldp.php:72
actionedit_form_advancedwp-ldp.php:74
actionsave_postwp-ldp.php:75
actionadd_meta_boxeswp-ldp.php:77
actionadd_meta_boxeswp-ldp.php:78
filterpost_type_linkwp-ldp.php:80
actionadmin_enqueue_scriptswp-ldp.php:82
actionadmin_enqueue_scriptswp-ldp.php:83
actionwp_enqueue_scriptswp-ldp.php:85
actionwp_enqueue_scriptswp-ldp.php:86
Maintenance & Trust

WP-LDP Maintenance & Trust

Maintenance Signals

WordPress version tested4.8.28
Last updatedUnknown
PHP min version
Downloads3K

Community Trust

Rating0/100
Number of ratings0
Active installs10
Developer Profile

WP-LDP Developer Profile

balessan

1 plugin · 10 total installs

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

How We Detect WP-LDP

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/wp-ldp/admin/css/wp-ldp-admin.css/wp-content/plugins/wp-ldp/admin/js/wp-ldp-admin.js/wp-content/plugins/wp-ldp/public/css/wp-ldp-front.css/wp-content/plugins/wp-ldp/public/js/wp-ldp-front.js
Script Paths
/wp-content/plugins/wp-ldp/admin/js/wp-ldp-admin.js/wp-content/plugins/wp-ldp/public/js/wp-ldp-front.js
Version Parameters
wp-ldp/admin/css/wp-ldp-admin.css?ver=wp-ldp/admin/js/wp-ldp-admin.js?ver=wp-ldp/public/css/wp-ldp-front.css?ver=wp-ldp/public/js/wp-ldp-front.js?ver=

HTML / DOM Fingerprints

CSS Classes
wp-ldp-admin-formwp-ldp-container-form
HTML Comments
<!-- LDP Resource Post Type Add Meta Box --><!-- LDP Media Add Meta Box --><!-- wpldp_admin_css --><!-- wpldp_admin_js -->+2 more
Data Attributes
data-wp-ldp-container
JS Globals
wpldp
REST Endpoints
/wp-json/wp-ldp/v1/containers/wp-json/wp-ldp/v1/containers/([-_a-zA-Z0-9]+)/wp-json/wp-ldp/v1/resources/wp-json/wp-ldp/v1/resources/([-_a-zA-Z0-9]+)
FAQ

Frequently Asked Questions about WP-LDP