Private Media Security & Risk Analysis

wordpress.org/plugins/private-media

Add access restrictions to specific items of the WordPress Media Library.

40 active installs v1.2 PHP 7.0+ WP 4.9.8+ Updated Jan 22, 2019
mediaprivateuploads
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Private Media Safe to Use in 2026?

Generally Safe

Score 85/100

Private Media has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 7yr ago
Risk Assessment

The "private-media" v1.2 plugin exhibits a seemingly strong security posture based on the provided static analysis data. There are no identified entry points to the plugin that are unprotected, and all SQL queries utilize prepared statements, which is an excellent practice for preventing SQL injection vulnerabilities. Furthermore, the absence of any recorded CVEs, especially critical or high-severity ones, suggests a history of secure development or prompt patching of past issues.

However, several critical concerns emerge from the code analysis. The complete lack of output escaping for any of the identified outputs is a significant weakness, potentially exposing the site to Cross-Site Scripting (XSS) vulnerabilities if user-supplied data is rendered directly. The presence of file operations without a clear indication of sanitization or security controls also raises a red flag, as it could be a vector for unauthorized file access or manipulation. The absence of nonce checks and capability checks, especially in conjunction with file operations and the lack of output escaping, creates a concerning situation where actions might be performed without proper authorization or validation.

While the plugin has a clean vulnerability history and follows good practices regarding SQL queries and attack surface management, the identified gaps in output escaping and the potential risks associated with file operations, coupled with a lack of authorization checks for potentially sensitive functions, indicate a moderate to high risk. The absence of taint analysis results showing zero unsanitized paths might be due to the limited scope of the analysis or the specific code paths examined, but the other identified code signals warrant caution. The overall security is compromised by the lack of basic output sanitization and potential unvalidated file operations.

Key Concerns

  • No output escaping
  • File operations without apparent checks
  • No nonce checks
  • No capability checks
  • Bundled library (TinyMCE) potentially outdated
Vulnerabilities
None known

Private Media Security Vulnerabilities

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

Private Media Code Analysis

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

Bundled Libraries

TinyMCE

SQL Query Safety

100% prepared14 total queries

Output Escaping

0% escaped2 total outputs
Attack Surface

Private Media Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 22
actiondelete_attachmentinc\class-private-media-attachment-manager.php:35
filteradd_post_metadatainc\class-private-media-attachment-manager.php:37
filter_wp_relative_upload_pathinc\class-private-media-attachment-manager.php:38
filterget_attached_fileinc\class-private-media-attachment-manager.php:39
filterwp_get_attachment_urlinc\class-private-media-attachment-manager.php:40
filterget_image_tag_classinc\class-private-media-attachment-manager.php:41
filterwp_calculate_image_srcsetinc\class-private-media-attachment-manager.php:42
filterquery_varsinc\class-private-media.php:21
actionparse_requestinc\class-private-media.php:22
actioninitinc\class-private-media.php:25
actioninitinc\class-private-media.php:26
actioninitinc\class-private-media.php:27
actioninitinc\class-private-media.php:28
actionwp_enqueue_scriptsinc\class-private-media.php:29
actionwp_tiny_mce_initinc\class-private-media.php:32
filteradmin_enqueue_scriptsinc\class-private-media.php:34
filterattachment_fields_to_saveinc\class-private-media.php:35
filterattachment_fields_to_editinc\class-private-media.php:36
actionadmin_noticesinc\class-private-media.php:111
actionadmin_noticesinc\class-private-media.php:116
actionplugins_loadedprivate-media.php:39
actionplugins_loadedprivate-media.php:44
Maintenance & Trust

Private Media Maintenance & Trust

Maintenance Signals

WordPress version tested4.9.29
Last updatedJan 22, 2019
PHP min version7.0
Downloads3K

Community Trust

Rating100/100
Number of ratings1
Active installs40
Developer Profile

Private Media Developer Profile

Alexandre Froger

11 plugins · 8K total installs

71
trust score
Avg Security Score
88/100
Avg Patch Time
110 days
View full developer profile
Detection Fingerprints

How We Detect Private Media

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/private-media/assets/css/admin.css/wp-content/plugins/private-media/assets/css/frontend.css/wp-content/plugins/private-media/assets/js/admin.js/wp-content/plugins/private-media/assets/js/frontend.js
Script Paths
/wp-content/plugins/private-media/assets/js/admin.js/wp-content/plugins/private-media/assets/js/frontend.js
Version Parameters
private-media/assets/css/admin.css?ver=private-media/assets/css/frontend.css?ver=private-media/assets/js/admin.js?ver=private-media/assets/js/frontend.js?ver=

HTML / DOM Fingerprints

CSS Classes
pvtmed-settings-wrapperpvtmed-roles-selectorpvtmed-role-field
Data Attributes
data-pvtmed-attachment-id
JS Globals
pvtmed_adminpvtmed_frontend
FAQ

Frequently Asked Questions about Private Media