Plain Logger Security & Risk Analysis

wordpress.org/plugins/plain-logger

Requires at least: 3.9 Tested up to: 4.7 Stable tag: 1.1.2

10 active installs v1.1.2 PHP + WP + Updated Aug 22, 2017
actionsactivityadminbest-error-logdebugging
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Plain Logger Safe to Use in 2026?

Generally Safe

Score 85/100

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

No known CVEs Updated 8yr ago
Risk Assessment

The 'plain-logger' plugin version 1.1.2 presents a significant security risk due to its unprotected AJAX endpoints. The presence of two AJAX handlers, both lacking authentication checks, creates a wide attack surface. This means any unauthenticated user can potentially trigger these functions, which could have severe consequences if they are not properly secured. Furthermore, the use of the 'unserialize' function, especially in conjunction with user-supplied input that might not be adequately validated or sanitized, poses a serious risk of remote code execution (RCE) or denial-of-service (DoS) attacks. The static analysis also reveals a concerning lack of output escaping, with only 20% of outputs being properly escaped, which could lead to cross-site scripting (XSS) vulnerabilities. While the plugin has no recorded vulnerability history, indicating a potentially clean past, the current code analysis reveals fundamental security flaws that demand immediate attention. The absence of nonce checks and capability checks on the identified AJAX endpoints further exacerbates the risk. The plugin's overall security posture is weak, with critical areas of its code requiring immediate remediation to mitigate these substantial risks.

Key Concerns

  • Unprotected AJAX handlers (2)
  • Use of unserialize() function
  • Low percentage of properly escaped output
  • Missing nonce checks on AJAX
  • Missing capability checks on AJAX
Vulnerabilities
None known

Plain Logger Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Version History

Plain Logger Release Timeline

v1.0.0
Code Analysis
Analyzed Apr 16, 2026

Plain Logger Code Analysis

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

Dangerous Functions Found

unserializeecho (is_object($content) ? json_encode(unserialize(serialize($content))) : $content);inc/class-log-to-file.php:51

Output Escaping

20% escaped5 total outputs
Attack Surface
2 unprotected

Plain Logger Attack Surface

Entry Points2
Unprotected2

AJAX Handlers 2

authwp_ajax_plainLogger-log-clearinc/class-log-to-file.php:13
authwp_ajax_plainLogger-loginc/class-log-to-file.php:14
WordPress Hooks 9
actionadmin_menuadmin/setting-page.php:2
actionadmin_initadmin/setting-page.php:3
actionadmin_enqueue_scriptsadmin/setting-page.php:5
actionplain_loggerclass-plain-logger.php:18
actionadmin_footerinc/class-log-to-db.php:7
actionadmin_footerinc/class-log-to-db.php:8
filterplainLogger-loginc/class-log-to-file.php:15
actioninitplain-logger.php:30
actionplugins_loadedplain-logger.php:64
Maintenance & Trust

Plain Logger Maintenance & Trust

Maintenance Signals

WordPress version tested
Last updatedAug 22, 2017
PHP min version
Downloads1K

Community Trust

Rating100/100
Number of ratings1
Active installs10
Developer Profile

Plain Logger Developer Profile

hxh90

1 plugin · 10 total installs

84
trust score
Avg Security Score
85/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect Plain Logger

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/plain-logger/admin/assets/field_plainLoggerArea.css/wp-content/plugins/plain-logger/admin/assets/field_plainLoggerArea.js
Script Paths
/wp-content/plugins/plain-logger/admin/assets/field_plainLoggerArea.js

HTML / DOM Fingerprints

CSS Classes
field_plainLoggerAreacontent
Data Attributes
data-target="field_plainLoggerArea"
Shortcode Output
<div id="field_plainLoggerArea" class='field_plainLoggerArea'><div class='content'><button type="button" data-target="field_plainLoggerArea" class="logReader-clean button button-primary">Clear log data</button><button type="button" id="refs" data-target="field_plainLoggerArea" class="logReader-refresh button button-secondary">Refresh</button>
FAQ

Frequently Asked Questions about Plain Logger