
Peter’s Post Notes Security & Risk Analysis
wordpress.org/plugins/peters-post-notesAdd notes to the "edit post" and "edit page" sidebars. Collaborators can also share notes on the WordPress dashboard.
Is Peter’s Post Notes Safe to Use in 2026?
Generally Safe
Score 85/100Peter’s Post Notes has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.
The "peters-post-notes" plugin v1.6.5 exhibits a mixed security posture. While it demonstrates good practices in avoiding dangerous functions, file operations, and external HTTP requests, and has a clean vulnerability history, significant concerns arise from its attack surface and code analysis. Two of its three AJAX handlers lack authentication checks, presenting a direct entry point for unauthorized actions. The taint analysis reveals three high-severity flows with unsanitized paths, indicating potential for injection vulnerabilities if these paths are reachable through the unprotected AJAX handlers. Furthermore, only 21% of output is properly escaped, increasing the risk of Cross-Site Scripting (XSS) vulnerabilities, especially when combined with unsanitized input from the unprotected AJAX endpoints. The limited use of prepared statements for SQL queries (33%) also poses a risk of SQL injection, particularly if sensitive data is handled without proper sanitization.
While the plugin has no known CVEs, this is not a guarantee of current security. The presence of critical taint flows and unprotected entry points suggests potential vulnerabilities that may not have been discovered or publicly disclosed. The lack of robust authentication on AJAX handlers is a critical oversight. The plugin's strengths lie in its absence of known vulnerabilities and its avoidance of certain high-risk practices. However, the identified weaknesses, particularly the unprotected AJAX endpoints and unsanitized data flows, create a significant risk profile that requires immediate attention to prevent exploitation.
Key Concerns
- Unprotected AJAX handlers
- High severity taint flows with unsanitized paths
- Low percentage of properly escaped output
- Low percentage of SQL queries using prepared statements
Peter’s Post Notes Security Vulnerabilities
Peter’s Post Notes Code Analysis
SQL Query Safety
Output Escaping
Data Flow Analysis
Peter’s Post Notes Attack Surface
AJAX Handlers 3
WordPress Hooks 10
Maintenance & Trust
Peter’s Post Notes Maintenance & Trust
Maintenance Signals
Community Trust
Peter’s Post Notes Alternatives
LH Archived Post Status
lh-archived-post-status
Allows posts and pages to be archived so you can remove content from the main loop and feed without having to trash it.
Pending Status
pending-status
Get notified when your site has posts pending review.
Admin Post Notifier
admin-post-notifier
This is a simple plugin that sends email notification for every new post submitted for review.
LH Inclusive Private Pages
lh-inclusive-private-pages
Extends the CRM possibilities for wordpress by allowing private posts/pages, and other CPt´s to be included in menus and also as the parent of other p …
LH Logged In Post Status
lh-logged-in-post-status
Allows you to restrict access to posts, pges etc to logged in users only.
Peter’s Post Notes Developer Profile
5 plugins · 4K total installs
How We Detect Peter’s Post Notes
Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.
Asset Fingerprints
/wp-content/plugins/peters-post-notes/css/ppn-style.css/wp-content/plugins/peters-post-notes/js/ppn-scripts.js/wp-content/plugins/peters-post-notes/js/ppn-scripts.jspeters-post-notes/css/ppn-style.css?ver=peters-post-notes/js/ppn-scripts.js?ver=HTML / DOM Fingerprints
ppn_add_noteppn_add_general_noteppn_notes_listppn_note_delete_buttonppn_note_edit_buttonppn_note_reply_buttonppn_note_general_listppn_note_general_delete_button+6 more<!-- As of version 1.5.0 of this plugin and higher, all settings are configured in "Settings" > "Peter's Post Notes" in the WordPress admin panel --><!-- If the user does not exist (if they've been removed, for example, show a default name) --><!-- This function is a copy of wp_kses_data that was introduced in WordPress 2.9 --><!-- It's copied in this plugin to retain compatibility with WordPress 2.8 -->+7 moredata-ppn-note-iddata-ppn-general-note-idppn_ajax_urlppn_nonce_delete_noteppn_nonce_edit_noteppn_nonce_add_noteppn_nonce_update_settingsppn_nonce_delete_general_note+2 more