Connect LearnDash to Discord Security & Risk Analysis

wordpress.org/plugins/connect-learndash-and-discord

Create a community of your students by connecting your LearnDash Website to your Discord server.

40 active installs v1.0.15 PHP 7.0+ WP 4.7+ Updated Unknown
discordfriendshang-outtalkvideo-chat
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Connect LearnDash to Discord Safe to Use in 2026?

Generally Safe

Score 100/100

Connect LearnDash to Discord has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs
Risk Assessment

The "connect-learndash-and-discord" plugin exhibits a mixed security posture. While it demonstrates strong adherence to output escaping and uses prepared statements for the majority of its SQL queries, there are significant concerns regarding its attack surface and handling of sensitive operations. Specifically, a large number of AJAX handlers lack proper authentication checks, presenting a clear avenue for unauthorized actions. The presence of the `unserialize` function and a high-severity taint flow with unsanitized paths are critical red flags, indicating potential for remote code execution or data manipulation if these flows are reachable by unauthenticated users.

The plugin's vulnerability history is currently clean, with no recorded CVEs. This is a positive indicator but should not overshadow the inherent risks identified in the static and taint analysis. The lack of historical vulnerabilities could mean the plugin hasn't been extensively scrutinized or that its current development practices have, until now, coincidentally avoided exploitable flaws in exposed areas. The plugin's strengths lie in its general code hygiene for output and SQL. However, the unprotected entry points and the identified taint flow require immediate attention to mitigate serious security risks.

Key Concerns

  • Unprotected AJAX handlers
  • Unsanitized path taint flow (high severity)
  • Dangerous function: unserialize
Vulnerabilities
None known

Connect LearnDash to Discord Security Vulnerabilities

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

Connect LearnDash to Discord Code Analysis

Dangerous Functions
3
Raw SQL Queries
2
15 prepared
Unescaped Output
2
337 escaped
Nonce Checks
15
Capability Checks
12
File Operations
8
External Requests
12
Bundled Libraries
1

Dangerous Functions Found

unserialize$all_roles = unserialize( get_option( 'ets_learndash_discord_public\class-learndash-discord-public.php:204
unserialize$roles_color = unserialize( get_option( 'ets_learndash_discord_public\class-learndash-discord-public.php:205
unserialize$all_roles = unserialize( get_option( 'ets_learndash_discord_allpublic\class-learndash-discord-public.php:1105

Bundled Libraries

Select2

SQL Query Safety

88% prepared17 total queries

Output Escaping

99% escaped339 total outputs
Data Flows
2 unsanitized

Data Flow Analysis

11 flows2 with unsanitized paths
ets_learndash_discord_as_handler_add_member_to_guild (public\class-learndash-discord-public.php:601)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
6 unprotected

Connect LearnDash to Discord Attack Surface

Entry Points8
Unprotected6

AJAX Handlers 7

authwp_ajax_ets_learndash_discord_clear_logsincludes\class-learndash-discord-add-on-logs.php:8
authwp_ajax_ets_learndash_discord_load_discord_rolesincludes\class-learndash-discord.php:178
authwp_ajax_ets_learndash_discord_run_apiincludes\class-learndash-discord.php:179
authwp_ajax_ets_learndash_discord_disconnect_userincludes\class-learndash-discord.php:180
authwp_ajax_ets_learndash_discord_update_redirect_urlincludes\class-learndash-discord.php:183
authwp_ajax_ets_learndash_discord_notice_dismissincludes\class-learndash-discord.php:185
authwp_ajax_learndash_disconnect_from_discordincludes\class-learndash-discord.php:211

Shortcodes 1

[learndash_discord] includes\class-learndash-discord.php:202
WordPress Hooks 44
actionadmin_noticesincludes\class-learndash-discord-admin-notices.php:21
actionplugins_loadedincludes\class-learndash-discord.php:145
actionadmin_initincludes\class-learndash-discord.php:161
actionadmin_noticesincludes\class-learndash-discord.php:162
actionadmin_enqueue_scriptsincludes\class-learndash-discord.php:164
actionadmin_enqueue_scriptsincludes\class-learndash-discord.php:165
actionadmin_initincludes\class-learndash-discord.php:166
actionadmin_menuincludes\class-learndash-discord.php:167
filtermanage_users_columnsincludes\class-learndash-discord.php:168
filtermanage_users_custom_columnincludes\class-learndash-discord.php:169
filtermanage_users_columnsincludes\class-learndash-discord.php:170
filtermanage_users_custom_columnincludes\class-learndash-discord.php:171
actionshow_user_profileincludes\class-learndash-discord.php:172
actionedit_user_profileincludes\class-learndash-discord.php:173
actionadmin_post_learndash_discord_application_settingsincludes\class-learndash-discord.php:174
actionadmin_post_learndash_discord_save_role_mappingincludes\class-learndash-discord.php:175
actionadmin_post_learndash_discord_save_advance_settingsincludes\class-learndash-discord.php:176
actionadmin_post_learndash_discord_save_appearance_settingsincludes\class-learndash-discord.php:177
actionlearndash_update_course_accessincludes\class-learndash-discord.php:181
actionlearndash_assignment_approvedincludes\class-learndash-discord.php:182
actionadmin_post_ets_learndash_discord_send_support_mailincludes\class-learndash-discord.php:184
actionwp_enqueue_scriptsincludes\class-learndash-discord.php:199
actionwp_enqueue_scriptsincludes\class-learndash-discord.php:200
filterdo_shortcode_tagincludes\class-learndash-discord.php:201
actioninitincludes\class-learndash-discord.php:203
actionets_learndash_discord_as_handle_add_member_to_guildincludes\class-learndash-discord.php:204
actionets_learndash_discord_as_schedule_member_put_roleincludes\class-learndash-discord.php:205
actionets_learndash_discord_as_send_dmincludes\class-learndash-discord.php:206
actionlearndash_course_completedincludes\class-learndash-discord.php:207
actionlearndash_lesson_completedincludes\class-learndash-discord.php:208
actionlearndash_topic_completedincludes\class-learndash-discord.php:209
actionlearndash_quiz_completedincludes\class-learndash-discord.php:210
actionets_learndash_discord_as_schedule_delete_memberincludes\class-learndash-discord.php:212
actionets_learndash_discord_as_schedule_delete_roleincludes\class-learndash-discord.php:213
actionlearndash_certification_content_write_cell_afterincludes\class-learndash-discord.php:215
actionlearndash-register-modal-heading-afterincludes\class-learndash-discord.php:216
actiontemplate_redirectincludes\class-learndash-discord.php:217
actionlearndash_user_course_access_expiredincludes\class-learndash-discord.php:218
filterkses_allowed_protocolsincludes\class-learndash-discord.php:219
actionld_complete_lesson_achievement_after_saveincludes\class-learndash-discord.php:221
actionld_complete_course_achievement_after_saveincludes\class-learndash-discord.php:222
actionaction_scheduler_failed_executionincludes\class-learndash-discord.php:234
filteraction_scheduler_queue_runner_batch_sizeincludes\class-learndash-discord.php:235
filteraction_scheduler_queue_runner_concurrent_batchesincludes\class-learndash-discord.php:236
Maintenance & Trust

Connect LearnDash to Discord Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedUnknown
PHP min version7.0
Downloads3K

Community Trust

Rating100/100
Number of ratings4
Active installs40
Developer Profile

Connect LearnDash to Discord Developer Profile

expresstechsoftware

14 plugins · 2K total installs

92
trust score
Avg Security Score
97/100
Avg Patch Time
8 days
View full developer profile
Detection Fingerprints

How We Detect Connect LearnDash to Discord

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/connect-learndash-and-discord/admin/css/select2.css/wp-content/plugins/connect-learndash-and-discord/admin/css/skeletabs.css/wp-content/plugins/connect-learndash-and-discord/admin/css/learndash-discord-admin.css/wp-content/plugins/connect-learndash-and-discord/admin/js/select2.js/wp-content/plugins/connect-learndash-and-discord/admin/js/skeletabs.js/wp-content/plugins/connect-learndash-and-discord/admin/js/learndash-discord-admin.js
Script Paths
/wp-content/plugins/connect-learndash-and-discord/admin/js/select2.js/wp-content/plugins/connect-learndash-and-discord/admin/js/skeletabs.js/wp-content/plugins/connect-learndash-and-discord/admin/js/learndash-discord-admin.js
Version Parameters
connect-learndash-and-discord/admin/css/select2.css?ver=connect-learndash-and-discord/admin/css/skeletabs.css?ver=connect-learndash-and-discord/admin/css/learndash-discord-admin.css?ver=connect-learndash-and-discord/admin/js/select2.js?ver=connect-learndash-and-discord/admin/js/skeletabs.js?ver=connect-learndash-and-discord/admin/js/learndash-discord-admin.js?ver=

HTML / DOM Fingerprints

HTML Comments
<!-- Currently plugin version. --><!-- Define plugin directory path --><!-- Define plugin directory URL --><!-- Discord Bot Permissions. -->+22 more
Data Attributes
data-nonce="ets-learndash-discord-ajax-nonce"
JS Globals
etsLearnDashParams
FAQ

Frequently Asked Questions about Connect LearnDash to Discord