Insights from Google PageSpeed Security & Risk Analysis

wordpress.org/plugins/google-pagespeed-insights

Use Insights from Google PageSpeed to increase your sites performance, your search engine ranking, and your visitors browsing experience.

20K active installs v4.0.8 PHP + WP 3.6+ Updated Jul 7, 2024
page-speedpagespeedpagespeed-insightsperformanceseo
91
A · Safe
CVEs total2
Unpatched0
Last CVEJun 27, 2022
Safety Verdict

Is Insights from Google PageSpeed Safe to Use in 2026?

Generally Safe

Score 91/100

Insights from Google PageSpeed has a strong security track record. Known vulnerabilities have been patched promptly. It's a solid choice for most WordPress installations.

2 known CVEsLast CVE: Jun 27, 2022Updated 1yr ago
Risk Assessment

The "google-pagespeed-insights" plugin v4.0.8 exhibits a mixed security posture. On one hand, it demonstrates good practices in several areas, including a very high percentage of properly escaped output and the use of prepared statements for a significant portion of its SQL queries. It also has no reported unpatched vulnerabilities, which is a positive sign. The static analysis shows a zero attack surface in terms of common entry points like AJAX handlers, REST API routes, and shortcodes, with all identified cron events presumably secured.

However, there are notable concerns. The presence of two "dangerous functions" like `unserialize` is a red flag, as deserialization vulnerabilities can be critical if not handled with extreme care. The taint analysis reveals a concerning number of flows with unsanitized paths, including 7 identified as high severity. While there are no critical taint flows, this indicates potential avenues for attackers to inject malicious data. Furthermore, the plugin has a history of vulnerabilities, including a past high-severity Cross-Site Request Forgery (CSRF) and Cross-Site Scripting (XSS) issue, suggesting a pattern of input sanitization or authorization weaknesses that attackers have exploited.

In conclusion, while the plugin has strengths in output escaping and SQL preparation, the use of `unserialize` and the high number of tainted flows with unsanitized paths are significant weaknesses. The vulnerability history further reinforces the need for vigilance. Users should be aware of these potential risks and ensure the plugin is updated to the latest version if available to address any historical or newly discovered issues.

Key Concerns

  • Dangerous function found: unserialize
  • High severity taint flows
  • Past high severity CVE
  • Past medium severity CVE
  • Flows with unsanitized paths
  • File operations detected
  • External HTTP requests detected
Vulnerabilities
2 published

Insights from Google PageSpeed Security Vulnerabilities

CVEs by Year

2 CVEs in 2022
2022
Patched Has unpatched

Severity Breakdown

High
1
Medium
1

2 total CVEs

CVE-2022-1672high · 8.8Cross-Site Request Forgery (CSRF)

Insights from Google PageSpeed <= 4.0.6 - Multiple Cross-Site Request Forgery

Jun 27, 2022 Patched in 4.0.7 (575d)
CVE-2022-0431medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Google Pagespeed Insights <= 4.0.3 - Reflected Cross-Site Scripting

Mar 8, 2022 Patched in 4.0.4 (686d)
Version History

Insights from Google PageSpeed Release Timeline

Code Analysis
Analyzed Mar 16, 2026

Insights from Google PageSpeed Code Analysis

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

Dangerous Functions Found

unserialize$lab_data = unserialize( $page_stats['labData'] );classes\class-GPI-Admin.php:610
unserialize$page_report['rule_blocks'] = unserialize( $page_report['rule_blocks'] );classes\class-GPI-Admin.php:862

SQL Query Safety

53% prepared80 total queries

Output Escaping

98% escaped387 total outputs
Data Flows · Security
9 unsanitized

Data Flow Analysis

15 flows9 with unsanitized paths
do_gpi_actions (classes\class-GPI-Actions.php:51)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Insights from Google PageSpeed Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 40
actionadmin_initclasses\class-GPI-Actions.php:48
filterupload_mimesclasses\class-GPI-Actions.php:632
filterupload_mimesclasses\class-GPI-Actions.php:635
actionplugins_loadedclasses\class-GPI-Actions.php:809
filterplugin_action_linksclasses\class-GPI-Admin.php:32
actionadmin_initclasses\class-GPI-Admin.php:33
actionpre_uninstall_pluginclasses\class-GPI-Admin.php:34
actiondeleted_pluginclasses\class-GPI-Admin.php:35
actionadmin_menuclasses\class-GPI-Admin.php:36
actionadmin_noticesclasses\class-GPI-Admin.php:37
actionplugins_loadedclasses\class-GPI-Admin.php:38
actionadmin_enqueue_scriptsclasses\class-GPI-Admin.php:39
actionadmin_enqueue_scriptsclasses\class-GPI-Admin.php:40
actionadmin_enqueue_scriptsclasses\class-GPI-Admin.php:41
actionadmin_enqueue_scriptsclasses\class-GPI-Admin.php:42
actionadmin_enqueue_scriptsclasses\class-GPI-Admin.php:43
actionadmin_footerclasses\class-GPI-Admin.php:44
actionadmin_initclasses\class-GPI-Admin.php:45
filterheartbeat_settingsclasses\class-GPI-Admin.php:46
filterwpe_heartbeat_allowed_pagesclasses\class-GPI-Admin.php:47
filterheartbeat_receivedclasses\class-GPI-Admin.php:48
filtergpi_set_time_limit_disabledclasses\class-GPI-Admin.php:49
filtergpi_error_logsclasses\class-GPI-Admin.php:50
filtergpi_filter_optionsclasses\class-GPI-Admin.php:51
filtergpi_custom_post_typesclasses\class-GPI-Admin.php:52
filtergpi_custom_urls_countclasses\class-GPI-Admin.php:53
filtergpi_custom_url_labelsclasses\class-GPI-Admin.php:54
filtergpi_summary_statsclasses\class-GPI-Admin.php:55
filtergpi_summary_reportsclasses\class-GPI-Admin.php:56
filtergpi_similar_snapshotsclasses\class-GPI-Admin.php:57
actionadmin_noticesclasses\class-GPI-Admin.php:82
actionplugins_loadedclasses\class-GPI-Admin.php:1115
actioninitclasses\class-GPI-Core.php:32
filtercron_schedulesclasses\class-GPI-Core.php:33
actiongpi_prune_logsclasses\class-GPI-Core.php:34
actiongooglepagespeedinsightsworkerclasses\class-GPI-Core.php:35
actiongpi_update_optionclasses\class-GPI-Core.php:36
filtergpi_check_statusclasses\class-GPI-Core.php:37
actionrun_gpiclasses\class-GPI-Core.php:38
actionplugins_loadedclasses\class-GPI-Core.php:785

Scheduled Events 3

googlepagespeedinsightsworker
googlepagespeedinsightsworker
gpi_prune_logs
Maintenance & Trust

Insights from Google PageSpeed Maintenance & Trust

Maintenance Signals

WordPress version tested6.5.8
Last updatedJul 7, 2024
PHP min version
Downloads643K

Community Trust

Rating96/100
Number of ratings28
Active installs20K
Developer Profile

Insights from Google PageSpeed Developer Profile

Matt Keys

4 plugins · 121K total installs

72
trust score
Avg Security Score
90/100
Avg Patch Time
421 days
View full developer profile
Detection Fingerprints

How We Detect Insights from Google PageSpeed

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/google-pagespeed-insights/css/style.css/wp-content/plugins/google-pagespeed-insights/css/summary.css/wp-content/plugins/google-pagespeed-insights/css/details.css/wp-content/plugins/google-pagespeed-insights/css/snapshot.css/wp-content/plugins/google-pagespeed-insights/css/global.css/wp-content/plugins/google-pagespeed-insights/js/main.js/wp-content/plugins/google-pagespeed-insights/js/summary.js/wp-content/plugins/google-pagespeed-insights/js/details.js+2 more
Script Paths
/wp-content/plugins/google-pagespeed-insights/js/main.js/wp-content/plugins/google-pagespeed-insights/js/summary.js/wp-content/plugins/google-pagespeed-insights/js/details.js/wp-content/plugins/google-pagespeed-insights/js/snapshot.js/wp-content/plugins/google-pagespeed-insights/js/global.js
Version Parameters
google-pagespeed-insights/css/style.css?ver=google-pagespeed-insights/css/summary.css?ver=google-pagespeed-insights/css/details.css?ver=google-pagespeed-insights/css/snapshot.css?ver=google-pagespeed-insights/css/global.css?ver=google-pagespeed-insights/js/main.js?ver=google-pagespeed-insights/js/summary.js?ver=google-pagespeed-insights/js/details.js?ver=google-pagespeed-insights/js/snapshot.js?ver=google-pagespeed-insights/js/global.js?ver=

HTML / DOM Fingerprints

CSS Classes
gpi-option-inputgpi-options-panelgpi-loading-overlaygpi-settings-inputgpi-togglegpi-input-labelgpi-option-wrappergpi-option-description+41 more
HTML Comments
<!-- Start: Google PageSpeed Insights Admin --><!-- End: Google PageSpeed Insights Admin --><!-- Start: Google PageSpeed Insights UI --><!-- End: Google PageSpeed Insights UI -->+2 more
Data Attributes
data-gpi-strategydata-gpi-renderdata-gpi-action
JS Globals
window.gpi_adminwindow.gpi_settings_pagewindow.gpi_summary_pagewindow.gpi_details_pagewindow.gpi_snapshot_pagewindow.gpi_global_scripts
FAQ

Frequently Asked Questions about Insights from Google PageSpeed