Liveblog Security & Risk Analysis

wordpress.org/plugins/liveblog

Empowers website owners to provide rich and engaging live event coverage to a large, distributed audience.

2K active installs v1.11.0 PHP 7.4+ WP 6.4+ Updated Jan 14, 2026
liveblog
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Liveblog Safe to Use in 2026?

Generally Safe

Score 100/100

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

No known CVEs Updated 2mo ago
Risk Assessment

The Liveblog plugin version 1.11.0 demonstrates some good security practices, particularly in its handling of SQL queries, which are all prepared, and a high percentage of properly escaped output. The absence of known vulnerabilities in its history is also a positive sign. However, there are clear areas for improvement that introduce risk.

The static analysis reveals a notable concern: two out of three AJAX handlers lack authentication checks. This presents a significant attack surface, as any unauthenticated user could potentially interact with these endpoints. While taint analysis did not identify critical or high-severity issues, the presence of unsanitized paths in four out of five analyzed flows is a warning sign. This suggests that user-controlled input might be processed in ways that could lead to unintended consequences if not handled with robust sanitization.

Overall, the plugin has a mixed security posture. Its strong adherence to prepared statements and output escaping is commendable. Nevertheless, the unprotected AJAX endpoints and the indications from taint analysis regarding unsanitized paths warrant attention. The lack of historical vulnerabilities suggests a developer who may be attentive to security, but the current code analysis highlights specific, addressable weaknesses that could be exploited.

Key Concerns

  • Unprotected AJAX handlers
  • Flows with unsanitized paths
  • Limited nonce checks
Vulnerabilities
None known

Liveblog Security Vulnerabilities

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

Liveblog Code Analysis

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

SQL Query Safety

100% prepared6 total queries

Output Escaping

95% escaped214 total outputs
Data Flows
4 unsanitized

Data Flow Analysis

5 flows4 with unsanitized paths
ajax_authors (classes\class-wpcom-liveblog-entry-extend-feature-authors.php:215)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
2 unprotected

Liveblog Attack Surface

Entry Points4
Unprotected2

AJAX Handlers 3

authwp_ajax_liveblog_authorsclasses\class-wpcom-liveblog-entry-extend-feature-authors.php:71
authwp_ajax_liveblog_termsclasses\class-wpcom-liveblog-entry-extend-feature-hashtags.php:96
authwp_ajax_set_liveblog_state_for_postliveblog.php:375

Shortcodes 1

[liveblog_key_events] classes\class-wpcom-liveblog-entry-key-events.php:99
WordPress Hooks 68
actiontemplate_redirectclasses\class-wpcom-liveblog-amp.php:33
filterquery_varsclasses\class-wpcom-liveblog-amp.php:36
filteramp_post_template_metadataclasses\class-wpcom-liveblog-amp.php:60
filterthe_contentclasses\class-wpcom-liveblog-amp.php:70
actionwp_enqueue_scriptsclasses\class-wpcom-liveblog-amp.php:75
actionwp_headclasses\class-wpcom-liveblog-amp.php:76
actionamp_post_template_cssclasses\class-wpcom-liveblog-amp.php:78
actionamp_post_template_headclasses\class-wpcom-liveblog-amp.php:79
actionauto_archive_check_hookclasses\class-wpcom-liveblog-cron.php:34
actionwp_enqueue_scriptsclasses\class-wpcom-liveblog-entry-embed-sdks.php:34
filterscript_loader_tagclasses\class-wpcom-liveblog-entry-embed-sdks.php:35
filtercomment_classclasses\class-wpcom-liveblog-entry-extend-feature-authors.php:68
actionafter_setup_themeclasses\class-wpcom-liveblog-entry-extend-feature-commands.php:64
filtercomment_classclasses\class-wpcom-liveblog-entry-extend-feature-commands.php:86
actionliveblog_insert_entryclasses\class-wpcom-liveblog-entry-extend-feature-commands.php:90
filtercomment_classclasses\class-wpcom-liveblog-entry-extend-feature-emojis.php:939
filtercomment_classclasses\class-wpcom-liveblog-entry-extend-feature-hashtags.php:90
actioninitclasses\class-wpcom-liveblog-entry-extend-feature-hashtags.php:93
filterterms_clausesclasses\class-wpcom-liveblog-entry-extend-feature-hashtags.php:289
filterliveblog_before_insert_entryclasses\class-wpcom-liveblog-entry-extend.php:35
filterliveblog_before_update_entryclasses\class-wpcom-liveblog-entry-extend.php:36
filterliveblog_before_insert_entryclasses\class-wpcom-liveblog-entry-extend.php:37
filterliveblog_before_update_entryclasses\class-wpcom-liveblog-entry-extend.php:38
filterliveblog_before_preview_entryclasses\class-wpcom-liveblog-entry-extend.php:39
filterliveblog_extend_autocompleteclasses\class-wpcom-liveblog-entry-extend.php:67
filterliveblog_before_insert_entryclasses\class-wpcom-liveblog-entry-extend.php:68
filterliveblog_before_update_entryclasses\class-wpcom-liveblog-entry-extend.php:69
filterliveblog_before_preview_entryclasses\class-wpcom-liveblog-entry-extend.php:70
filterliveblog_before_edit_entryclasses\class-wpcom-liveblog-entry-extend.php:71
actionwidgets_initclasses\class-wpcom-liveblog-entry-key-events-widget.php:22
actioninitclasses\class-wpcom-liveblog-entry-key-events.php:84
filterliveblog_active_commandsclasses\class-wpcom-liveblog-entry-key-events.php:88
filterliveblog_entry_for_jsonclasses\class-wpcom-liveblog-entry-key-events.php:92
filterliveblog_admin_add_settingsclasses\class-wpcom-liveblog-entry-key-events.php:96
actionliveblog_command_key_afterclasses\class-wpcom-liveblog-entry-key-events.php:103
actionliveblog_admin_settings_updateclasses\class-wpcom-liveblog-entry-key-events.php:107
actiontemplate_redirectclasses\class-wpcom-liveblog-lazyloader.php:116
actionadmin_noticesclasses\class-wpcom-liveblog-lazyloader.php:130
filterliveblog_display_archive_query_argsclasses\class-wpcom-liveblog-lazyloader.php:141
actionrest_api_initclasses\class-wpcom-liveblog-rest-api.php:46
actionadmin_noticesclasses\class-wpcom-liveblog-socketio-loader.php:96
actionadmin_noticesclasses\class-wpcom-liveblog-socketio-loader.php:116
actionwp_enqueue_scriptsclasses\class-wpcom-liveblog-socketio.php:64
actionadmin_noticesclasses\class-wpcom-liveblog-socketio.php:88
actionadmin_noticesliveblog.php:312
actioninitliveblog.php:368
actioninitliveblog.php:369
actionpermalink_structure_changedliveblog.php:370
actioninitliveblog.php:372
actionwp_enqueue_scriptsliveblog.php:373
actionadmin_enqueue_scriptsliveblog.php:374
actionafter_setup_themeliveblog.php:376
actionwp_headliveblog.php:377
actiontemplate_redirectliveblog.php:386
filtercomment_classliveblog.php:387
filteris_protected_metaliveblog.php:388
filterliveblog_before_insert_entryliveblog.php:392
filterliveblog_before_update_entryliveblog.php:393
filterliveblog_before_insert_entryliveblog.php:397
actionadd_meta_boxesliveblog.php:413
actionrestrict_manage_postsliveblog.php:414
actionpre_get_postsliveblog.php:415
filterdisplay_post_statesliveblog.php:431
filterquery_varsliveblog.php:432
filterthe_contentliveblog.php:577
actionliveblog_insert_entryvipgo-helper.php:34
actionliveblog_update_entryvipgo-helper.php:35
actionliveblog_delete_entryvipgo-helper.php:36

Scheduled Events 1

auto_archive_check_hook
Maintenance & Trust

Liveblog Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedJan 14, 2026
PHP min version7.4
Downloads93K

Community Trust

Rating58/100
Number of ratings15
Active installs2K
Developer Profile

Liveblog Developer Profile

Automattic

213 plugins · 19.2M total installs

73
trust score
Avg Security Score
92/100
Avg Patch Time
1384 days
View full developer profile
Detection Fingerprints

How We Detect Liveblog

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/liveblog/css/liveblog-frontend.css/wp-content/plugins/liveblog/css/liveblog-frontend-rtl.css/wp-content/plugins/liveblog/js/liveblog-frontend.js
Script Paths
/wp-content/plugins/liveblog/js/liveblog-frontend.js
Version Parameters
liveblog/css/liveblog-frontend.css?ver=liveblog/css/liveblog-frontend-rtl.css?ver=liveblog/js/liveblog-frontend.js?ver=

HTML / DOM Fingerprints

CSS Classes
liveblog-entryliveblog-entriesliveblog-liveblogliveblog-contentliveblog-edit-entryliveblog-button
HTML Comments
Liveblog Entry StartLiveblog Entry End
Data Attributes
data-liveblog-iddata-liveblog-post-iddata-liveblog-entry-iddata-liveblog-current-timestampdata-liveblog-refresh-intervaldata-liveblog-focus-refresh-interval+1 more
JS Globals
liveblog_frontend_paramsliveblog_current_timestampLiveblog
REST Endpoints
/wp-json/liveblog/v1/entries/wp-json/liveblog/v1/entry/wp-json/liveblog/v1/users/wp-json/liveblog/v1/meta
Shortcode Output
[liveblog][liveblog-feed][liveblog-single-entry][liveblog-entry-key-events]
FAQ

Frequently Asked Questions about Liveblog