HTML5 pushState Security & Risk Analysis

wordpress.org/plugins/pushstate

Enables HTML5 pushState for wordpress to get contents through AJAX without breaking SEO rank

10 active installs v1.0.2 PHP + WP 3.0+ Updated Feb 16, 2013
ajaxhtml5pushstatethemes
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is HTML5 pushState Safe to Use in 2026?

Generally Safe

Score 85/100

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

No known CVEs Updated 13yr ago
Risk Assessment

The "pushstate" plugin v1.0.2 presents a mixed security posture. On the positive side, the plugin has a minimal attack surface with no identified AJAX handlers, REST API routes, shortcodes, or cron events. It also demonstrates good practices by exclusively using prepared statements for SQL queries and not making any external HTTP requests. The presence of a nonce check is also a positive sign. However, a significant concern arises from the complete lack of output escaping for all identified output points. This means that any data processed and displayed by the plugin could be vulnerable to cross-site scripting (XSS) attacks if it originates from an untrusted source. Additionally, the absence of capability checks is a weakness, as it implies that any user, regardless of their WordPress role, could potentially interact with plugin functionalities, assuming any were exposed via other means not captured in the static analysis.

The vulnerability history for this plugin is clean, with no recorded CVEs. This, combined with the limited attack surface and some good coding practices, suggests a potentially low risk profile. However, the critical flaw of unescaped output cannot be overlooked. While the static analysis did not reveal any critical or high severity taint flows, the unescaped output opens the door for such issues to be exploited if user-supplied data is not properly handled before rendering. The plugin's strengths lie in its limited attack surface and secure database interactions, but its critical weakness in output sanitization requires immediate attention to mitigate potential XSS vulnerabilities.

Key Concerns

  • All outputs are unescaped
  • No capability checks present
Vulnerabilities
None known

HTML5 pushState Security Vulnerabilities

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

HTML5 pushState Code Analysis

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

Output Escaping

0% escaped7 total outputs
Attack Surface

HTML5 pushState Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 7
actionadmin_menupushstate.php:39
actionadmin_initpushstate.php:42
filterplugin_action_linkspushstate.php:43
actionadmin_print_scriptspushstate.php:74
actionadmin_print_stylespushstate.php:75
actioninitpushstate.php:181
actionwp_footerpushstate.php:205
Maintenance & Trust

HTML5 pushState Maintenance & Trust

Maintenance Signals

WordPress version tested3.5.2
Last updatedFeb 16, 2013
PHP min version
Downloads4K

Community Trust

Rating90/100
Number of ratings2
Active installs10
Developer Profile

HTML5 pushState Developer Profile

lontongcorp

2 plugins · 40 total installs

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

How We Detect HTML5 pushState

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/pushstate/jquery.history.js/wp-content/plugins/pushstate/jquery.scrollTo.js
Script Paths
/wp-content/plugins/pushstate/jquery.history.js/wp-content/plugins/pushstate/jquery.scrollTo.js
Version Parameters
pushstate/jquery.history.js?ver=pushstate/jquery.scrollTo.js?ver=

HTML / DOM Fingerprints

HTML Comments
Copyright 2013 Erick Tampubolon <lontongcorp@gmail.com>This program is free software; you can redistribute it and/or modifyThis program is distributed in the hope that it will be useful,You should have received a copy of the GNU General Public License+18 more
Data Attributes
id="pushstate_loading"id="select_image"name="pushstate_domain"id="pushstate_div"name="pushstate_div"name="pushstate_tied"+7 more
JS Globals
pushstate_divpushstate_loadingpushstate_loading_posxpushstate_loading_posypushstate_callback
FAQ

Frequently Asked Questions about HTML5 pushState