Personal Dictionary – Vocabulary Games, Memory Games Security & Risk Analysis

wordpress.org/plugins/personal-dictionary

Allow your students to create personal dictionary, study the words with the help of memory games. Make learning fun with vocabulary games.

100 active installs v2.7.4 PHP + WP 4.0+ Updated Apr 15, 2026
dictionaryeducationelearningmemory-gamevocabulary
98
A · Safe
CVEs total1
Unpatched0
Last CVEApr 18, 2022
Safety Verdict

Is Personal Dictionary – Vocabulary Games, Memory Games Safe to Use in 2026?

Generally Safe

Score 98/100

Personal Dictionary – Vocabulary Games, Memory Games 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: Apr 18, 2022Updated 1mo ago
Risk Assessment

The 'personal-dictionary' plugin v2.7.2 exhibits a concerning security posture primarily due to a large number of unprotected entry points and a history of critical vulnerabilities. While the plugin demonstrates some good practices, such as a high percentage of SQL queries using prepared statements and a reasonable number of capability checks, these are overshadowed by significant weaknesses. The static analysis reveals 13 total entry points, with a staggering 12 lacking authentication checks. This creates a vast attack surface that could be exploited by unauthenticated users. Furthermore, the taint analysis highlights 6 flows with unsanitized paths, including 5 identified as high severity, indicating potential for data manipulation or execution of unintended code. The plugin's vulnerability history, which includes one critical CVE related to SQL injection, further reinforces these concerns. The fact that this critical vulnerability was reported in 2022 and is currently marked as unpatched (implicitly, as it's listed under 'Total known CVEs' without a corresponding 'Currently unpatched: 0' indicating resolution) suggests a recurring or unaddressed security issue. In conclusion, while the plugin has some positive attributes, the combination of a large, unprotected attack surface, high-severity taint flows, and past critical vulnerabilities makes it a high-risk component for any WordPress installation.

Key Concerns

  • Large attack surface without auth checks
  • High severity taint flows
  • Critical CVE history
  • Unescaped output
  • Missing nonce checks on AJAX
Vulnerabilities
1 published

Personal Dictionary – Vocabulary Games, Memory Games Security Vulnerabilities

CVEs by Year

1 CVE in 2022
2022
Patched Has unpatched

Severity Breakdown

Critical
1

1 total CVE

CVE-2022-1013critical · 9.8Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Personal Dictionary <= 1.3.3 - Unauthenticated SQL Injection

Apr 18, 2022 Patched in 1.3.4 (645d)
Version History

Personal Dictionary – Vocabulary Games, Memory Games Release Timeline

v2.7.4Current
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.9
v2.6.8
v2.6.7
v2.6.6
v2.6.5
v2.6.4
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
Code Analysis
Analyzed Mar 16, 2026

Personal Dictionary – Vocabulary Games, Memory Games Code Analysis

Dangerous Functions
0
Raw SQL Queries
5
31 prepared
Unescaped Output
635
556 escaped
Nonce Checks
4
Capability Checks
11
File Operations
2
External Requests
0
Bundled Libraries
1

Bundled Libraries

Select2

SQL Query Safety

86% prepared36 total queries

Output Escaping

47% escaped1191 total outputs
Data Flows · Security
6 unsanitized

Data Flow Analysis

7 flows6 with unsanitized paths
deactivate_plugin_option (admin\class-personal-dictionary-admin.php:1756)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
12 unprotected

Personal Dictionary – Vocabulary Games, Memory Games Attack Surface

Entry Points13
Unprotected12

AJAX Handlers 12

authwp_ajax_deactivate_plugin_option_pdincludes\class-personal-dictionary.php:194
noprivwp_ajax_deactivate_plugin_option_pdincludes\class-personal-dictionary.php:195
authwp_ajax_ays_pd_dismiss_buttonincludes\class-personal-dictionary.php:212
noprivwp_ajax_ays_pd_dismiss_buttonincludes\class-personal-dictionary.php:213
authwp_ajax_ays_pd_first_click_preview_buttonincludes\class-personal-dictionary.php:215
noprivwp_ajax_ays_pd_first_click_preview_buttonincludes\class-personal-dictionary.php:216
authwp_ajax_ays_pd_install_pluginincludes\class-personal-dictionary.php:218
noprivwp_ajax_ays_pd_install_pluginincludes\class-personal-dictionary.php:219
authwp_ajax_ays_pd_activate_pluginincludes\class-personal-dictionary.php:221
noprivwp_ajax_ays_pd_activate_pluginincludes\class-personal-dictionary.php:222
authwp_ajax_ays_pd_ajaxincludes\class-personal-dictionary.php:241
noprivwp_ajax_ays_pd_ajaxincludes\class-personal-dictionary.php:242

Shortcodes 1

[ayspd_userpage] public\class-personal-dictionary-public.php:60
WordPress Hooks 29
actionadmin_noticesadmin\class-personal-dictionary-admin.php:288
actioninitincludes\class-personal-dictionary-custom-post-type.php:33
actionplugins_loadedincludes\class-personal-dictionary.php:157
actionadmin_enqueue_scriptsincludes\class-personal-dictionary.php:173
actionadmin_enqueue_scriptsincludes\class-personal-dictionary.php:174
actionadmin_enqueue_scriptsincludes\class-personal-dictionary.php:175
actioncurrent_screenincludes\class-personal-dictionary.php:176
actionadmin_headincludes\class-personal-dictionary.php:178
actionadmin_menuincludes\class-personal-dictionary.php:180
actionadmin_menuincludes\class-personal-dictionary.php:181
actionadmin_menuincludes\class-personal-dictionary.php:182
actionadmin_menuincludes\class-personal-dictionary.php:183
actionadmin_menuincludes\class-personal-dictionary.php:184
actionadmin_menuincludes\class-personal-dictionary.php:185
actionadmin_menuincludes\class-personal-dictionary.php:186
actionadmin_menuincludes\class-personal-dictionary.php:187
actionadmin_menuincludes\class-personal-dictionary.php:188
actionadmin_enqueue_scriptsincludes\class-personal-dictionary.php:191
filterplugin_row_metaincludes\class-personal-dictionary.php:200
actionelementor/widgets/registerincludes\class-personal-dictionary.php:203
actionelementor/widgets/widgets_registeredincludes\class-personal-dictionary.php:205
actionin_admin_footerincludes\class-personal-dictionary.php:208
actionadmin_noticesincludes\class-personal-dictionary.php:210
actionwp_enqueue_scriptsincludes\class-personal-dictionary.php:237
actionwp_enqueue_scriptsincludes\class-personal-dictionary.php:238
actionenqueue_block_editor_assetspersonal-dictionary\personal-dictionary-block.php:124
actioninitpersonal-dictionary\personal-dictionary-block.php:125
actionplugins_loadedpersonal-dictionary.php:86
actionadmin_noticespersonal-dictionary.php:104
Maintenance & Trust

Personal Dictionary – Vocabulary Games, Memory Games Maintenance & Trust

Maintenance Signals

WordPress version tested7.0
Last updatedApr 15, 2026
PHP min version
Downloads24K

Community Trust

Rating96/100
Number of ratings8
Active installs100
Developer Profile

Personal Dictionary – Vocabulary Games, Memory Games Developer Profile

Ays Pro

18 plugins · 111K total installs

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

How We Detect Personal Dictionary – Vocabulary Games, Memory Games

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/personal-dictionary/admin/css/main.css/wp-content/plugins/personal-dictionary/admin/js/main.js/wp-content/plugins/personal-dictionary/public/css/personal-dictionary-public.css/wp-content/plugins/personal-dictionary/public/js/personal-dictionary-public.js
Script Paths
/wp-content/plugins/personal-dictionary/admin/js/main.js/wp-content/plugins/personal-dictionary/public/js/personal-dictionary-public.js
Version Parameters
personal-dictionary/admin/css/main.css?ver=personal-dictionary/admin/js/main.js?ver=personal-dictionary/public/css/personal-dictionary-public.css?ver=personal-dictionary/public/js/personal-dictionary-public.js?ver=

HTML / DOM Fingerprints

CSS Classes
ays-notice-bannerays-pd-logo-container-upgradepd-logoays-pd-upgrade-containerays-pd-logo-container-one-time-textays-btnmodile-ddmenu-lgmodile-ddmenu-xs+6 more
HTML Comments
<!-- Global name of the plugin for general use --><!-- If this file is called directly, abort. --><!-- Currently plugin version. --><!-- Start at version 1.0.0 and use SemVer - https://semver.org -->+11 more
Data Attributes
data-expanded
JS Globals
PERSONAL_DICTIONARY_VERSIONPERSONAL_DICTIONARY_NAME_VERSIONPERSONAL_DICTIONARY_NAMEPERSONAL_DICTIONARY_DB_PREFIXPERSONAL_DICTIONARY_BASENAMEPERSONAL_DICTIONARY_DIR+5 more
FAQ

Frequently Asked Questions about Personal Dictionary – Vocabulary Games, Memory Games