Simple Local Avatars Security & Risk Analysis

wordpress.org/plugins/simple-local-avatars

Adds an avatar upload field to user profiles. Generates requested sizes on demand just like Gravatar!

100K active installs v2.8.6 PHP 7.4+ WP 6.6+ Updated Feb 17, 2026
avatargravatarprofileuser-photosusers
93
A · Safe
CVEs total6
Unpatched0
Last CVEAug 11, 2025
Safety Verdict

Is Simple Local Avatars Safe to Use in 2026?

Generally Safe

Score 93/100

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

6 known CVEsLast CVE: Aug 11, 2025Updated 3mo ago
Risk Assessment

The 'simple-local-avatars' plugin v2.8.6 demonstrates a mixed security posture. On the positive side, the static analysis reveals a small attack surface with no unprotected entry points. The code also shows good practices like 100% usage of prepared statements for SQL queries, a significant number of nonce checks (7) and capability checks (10), and no identified dangerous functions or external HTTP requests. Taint analysis found no critical or high severity unsanitized flows.

However, a significant concern arises from the plugin's vulnerability history. With a total of 6 known CVEs, including one high and four medium severity issues, the plugin has a history of security flaws. The common vulnerability types such as Missing Authorization, CSRF, and Code Injection are particularly worrying as they can lead to serious compromise. The fact that the last vulnerability was recorded in August 2025 (although future dates in vulnerability history can sometimes be placeholders or indicate planned fixes) suggests a recent pattern of security issues.

Despite the current version's seemingly good static analysis results and no unpatched CVEs reported, the historical prevalence of critical and high-severity vulnerabilities necessitates caution. The plugin has demonstrated weaknesses in authorization and input validation in the past. Users should be aware that while the current version might appear more secure, the underlying codebase might still carry risks related to past vulnerability patterns, and vigilance is recommended.

Key Concerns

  • History of 6 known CVEs
  • History of 1 high severity CVE
  • History of 4 medium severity CVEs
  • 74% of output properly escaped
Vulnerabilities
6 published

Simple Local Avatars Security Vulnerabilities

CVEs by Year

1 CVE in 2022
2022
2 CVEs in 2023
2023
2 CVEs in 2024
2024
1 CVE in 2025
2025
Patched Has unpatched

Severity Breakdown

High
1
Medium
4
Low
1

6 total CVEs

CVE-2025-8482medium · 4.3Missing Authorization

Simple Local Avatars <= 2.8.4 - Missing Authorization to Authenticated (Subscriber+) Avatar Migration

Aug 11, 2025 Patched in 2.8.5 (1d)
CVE-2024-10786medium · 4.3Missing Authorization

Simple Local Avatars <= 2.7.11 - Missing Authorization to Authenticated (Subscriber+) User Cache Clearing

Nov 15, 2024 Patched in 2.8.0 (1d)
CVE-2024-43116medium · 4.3Cross-Site Request Forgery (CSRF)

Simple Local Avatars <= 2.7.10 - Cross-Site Request Forgery via save_default_avatar_file_id()

Aug 7, 2024 Patched in 2.7.11 (8d)
CVE-2022-25860high · 8.1Improper Control of Generation of Code ('Code Injection')

simple-git < 3.16.0 - Remote Code Execution

Feb 23, 2023 Patched in 2.7.4 (877d)
CVE-2022-25881medium · 5.3Inefficient Regular Expression Complexity

http-cache-semantics < 4.1.1 - Regular Expression Denial of Service (ReDoS)

Feb 23, 2023 Patched in 2.7.4 (334d)
CVE-2022-25858low · 3.7Uncontrolled Resource Consumption

terser (JS Package) < 5.14.2 - Denial of Service

Jul 14, 2022 Patched in 2.6.0 (558d)
Code Analysis
Analyzed Mar 16, 2026

Simple Local Avatars Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
1 prepared
Unescaped Output
10
29 escaped
Nonce Checks
7
Capability Checks
10
File Operations
1
External Requests
0
Bundled Libraries
0

SQL Query Safety

100% prepared1 total queries

Output Escaping

74% escaped39 total outputs
Data Flows · Security
All sanitized

Data Flow Analysis

3 flows
action_remove_simple_local_avatar (includes\class-simple-local-avatars.php:1178)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Simple Local Avatars Attack Surface

Entry Points4
Unprotected0

AJAX Handlers 4

authwp_ajax_assign_simple_local_avatar_mediaincludes\class-simple-local-avatars.php:119
authwp_ajax_remove_simple_local_avatarincludes\class-simple-local-avatars.php:120
authwp_ajax_migrate_from_wp_user_avatarincludes\class-simple-local-avatars.php:125
authwp_ajax_sla_clear_user_cacheincludes\class-simple-local-avatars.php:131
WordPress Hooks 29
actionadmin_notices10up-lib\wp-compat-validation-tool\src\Validator.php:137
filterpre_get_avatar_dataincludes\class-simple-local-avatars.php:103
filterpre_option_simple_local_avatarsincludes\class-simple-local-avatars.php:104
actionadmin_initincludes\class-simple-local-avatars.php:106
actioninitincludes\class-simple-local-avatars.php:107
actionwp_enqueue_scriptsincludes\class-simple-local-avatars.php:110
actionadmin_enqueue_scriptsincludes\class-simple-local-avatars.php:111
actionshow_user_profileincludes\class-simple-local-avatars.php:113
actionedit_user_profileincludes\class-simple-local-avatars.php:114
actionpersonal_options_updateincludes\class-simple-local-avatars.php:116
actionedit_user_profile_updateincludes\class-simple-local-avatars.php:117
actionadmin_action_remove-simple-local-avatarincludes\class-simple-local-avatars.php:118
actionuser_edit_form_tagincludes\class-simple-local-avatars.php:121
actionrest_api_initincludes\class-simple-local-avatars.php:123
filteravatar_defaultsincludes\class-simple-local-avatars.php:133
actionwpmu_new_blogincludes\class-simple-local-avatars.php:135
actionwp_initialize_siteincludes\class-simple-local-avatars.php:137
filtermedia_view_stringsincludes\class-simple-local-avatars.php:141
actionplugins_loadedincludes\class-simple-local-avatars.php:148
actionload-options-discussion.phpincludes\class-simple-local-avatars.php:663
actionload-settings.phpincludes\class-simple-local-avatars.php:667
actionadmin_print_stylesincludes\class-simple-local-avatars.php:697
filteradmin_body_classincludes\class-simple-local-avatars.php:698
actionwpmu_optionsincludes\class-simple-local-avatars.php:707
actionupdate_wpmu_optionsincludes\class-simple-local-avatars.php:708
filterpre_option_avatar_ratingincludes\class-simple-local-avatars.php:961
actionuser_profile_update_errorsincludes\class-simple-local-avatars.php:1101
actionuser_profile_update_errorsincludes\class-simple-local-avatars.php:1109
actionuser_profile_update_errorsincludes\class-simple-local-avatars.php:1144
Maintenance & Trust

Simple Local Avatars Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedFeb 17, 2026
PHP min version7.4
Downloads2.4M

Community Trust

Rating92/100
Number of ratings89
Active installs100K
Developer Profile

Simple Local Avatars Developer Profile

10up

23 plugins · 1.4M total installs

76
trust score
Avg Security Score
95/100
Avg Patch Time
536 days
View full developer profile
Detection Fingerprints

How We Detect Simple Local Avatars

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/simple-local-avatars/js/simple-local-avatars.js/wp-content/plugins/simple-local-avatars/css/simple-local-avatars.css
Script Paths
wp-content/plugins/simple-local-avatars/js/simple-local-avatars.js
Version Parameters
simple-local-avatars/css/simple-local-avatars.css?ver=simple-local-avatars/js/simple-local-avatars.js?ver=

HTML / DOM Fingerprints

CSS Classes
simple-local-avatar-wrapavatar-editavatar-previewsimple-local-avatar-upload-formsimple-local-avatar-img
Data Attributes
data-simple-local-avatar-id
JS Globals
simple_local_avatars_ajax_object
REST Endpoints
/wp-json/simple-local-avatars/v1/avatars
FAQ

Frequently Asked Questions about Simple Local Avatars