User Photo Security & Risk Analysis

wordpress.org/plugins/user-photo

Allows a user to associate a photo with their account and for this photo to be displayed in their posts and comments.

3K active installs v0.9.10 PHP + WP 3.0.5+ Updated Nov 28, 2017
imagesphotosusers
84
B · Generally Safe
CVEs total2
Unpatched0
Last CVEMay 9, 2012
Safety Verdict

Is User Photo Safe to Use in 2026?

Mostly Safe

Score 84/100

User Photo is generally safe to use though it hasn't been updated recently. 2 past CVEs were resolved. Keep it updated.

2 known CVEsLast CVE: May 9, 2012Updated 8yr ago
Risk Assessment

The user-photo plugin version 0.9.10 presents a mixed security posture. On the positive side, the static analysis reveals a very limited attack surface with no apparent direct entry points like AJAX handlers, REST API routes, or shortcodes that are unprotected. Furthermore, all identified SQL queries are properly prepared, and there are no critical or high-severity taint flows, suggesting good data handling in these areas. The plugin also implements some nonce and capability checks, which are essential security mechanisms.

However, significant concerns arise from the output escaping and the plugin's historical vulnerability record. Only 17% of output operations are properly escaped, indicating a high risk of Cross-Site Scripting (XSS) vulnerabilities. This is directly corroborated by its vulnerability history, which includes two past CVEs, one of which was a high-severity XSS issue. The absence of recent vulnerabilities might suggest the plugin has not been actively maintained or tested in recent years, especially considering the last vulnerability was in 2012. The file operation count, while not inherently problematic, warrants careful consideration given the past unrestricted upload vulnerability type.

In conclusion, while the current static analysis does not reveal immediate critical vulnerabilities in terms of attack surface or data handling, the poor output escaping and the history of severe vulnerabilities, particularly XSS and unrestricted uploads, present a substantial ongoing risk. The lack of recent updates and the dated vulnerability history are strong indicators that this plugin should be treated with caution and ideally updated or replaced.

Key Concerns

  • Low output escaping percentage
  • History of high severity CVEs
  • History of medium severity CVEs
  • Past unrestricted file upload vulnerability type
  • Dated vulnerability history (2012)
Vulnerabilities
2

User Photo Security Vulnerabilities

CVEs by Year

1 CVE in 2011
2011
1 CVE in 2012
2012
Patched Has unpatched

Severity Breakdown

High
1
Medium
1

2 total CVEs

CVE-2012-2920medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

User Photo <= 0.9.5 - Cross-Site Scripting

May 9, 2012 Patched in 0.9.5.2 (4276d)
CVE-2013-1916high · 8.8Unrestricted Upload of File with Dangerous Type

User Photo <= 0.9.4 - Arbitrary File Upload

Feb 18, 2011 Patched in 0.9.5 (4722d)
Code Analysis
Analyzed Mar 16, 2026

User Photo Code Analysis

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

SQL Query Safety

100% prepared2 total queries

Output Escaping

17% escaped47 total outputs
Data Flows
All sanitized

Data Flow Analysis

2 flows
userphoto_options_page (user-photo.php:684)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

User Photo Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 12
actionadmin_initclass-user-photo-upgrade-notice.php:24
actionadmin_initclass-user-photo-upgrade-notice.php:25
actionadmin_noticesclass-user-photo-upgrade-notice.php:34
filterget_avataruser-photo.php:84
actioninituser-photo.php:86
actionprofile_updateuser-photo.php:510
actiondelete_useruser-photo.php:528
actionadmin_head-options_page_user-photo/user-photouser-photo.php:539
actionadmin_headuser-photo.php:540
actionshow_user_profileuser-photo.php:673
actionedit_user_profileuser-photo.php:674
actionadmin_menuuser-photo.php:682
Maintenance & Trust

User Photo Maintenance & Trust

Maintenance Signals

WordPress version tested4.6.30
Last updatedNov 28, 2017
PHP min version
Downloads487K

Community Trust

Rating86/100
Number of ratings20
Active installs3K
Developer Profile

User Photo Developer Profile

Weston Ruter

22 plugins · 437K total installs

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

How We Detect User Photo

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

Asset Fingerprints

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

HTML / DOM Fingerprints

CSS Classes
userphoto-avatarphoto
Data Attributes
userphoto_approvalstatususerphoto_image_fileuserphoto_thumb_fileuserphoto_image_widthuserphoto_thumb_widthuserphoto_image_height+1 more
JS Globals
userphoto_using_avatar_fallbackuserphoto_prevent_override_avatar
FAQ

Frequently Asked Questions about User Photo