Say It! Security & Risk Analysis

wordpress.org/plugins/say-it

Text to speech plugin helping your website easily say something !

100 active installs v4.0.1 PHP 7.4.0+ WP 5.0.0+ Updated Nov 12, 2021
audiotext-to-audiotext-to-speechttsvoice
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is Say It! Safe to Use in 2026?

Generally Safe

Score 85/100

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

No known CVEs Updated 4yr ago
Risk Assessment

The 'say-it' v4.0.1 plugin exhibits a mixed security posture. While it demonstrates good practices by exclusively using prepared statements for SQL queries and avoiding external HTTP requests, significant concerns arise from its attack surface and output escaping. Six of the nine identified entry points, all AJAX handlers, lack proper authentication checks. This opens the door to potential unauthorized actions if these handlers can be triggered by unauthenticated users. Furthermore, a substantial portion of outputs (74%) are not properly escaped, creating a high risk for cross-site scripting (XSS) vulnerabilities. The absence of any recorded vulnerabilities in its history might suggest a clean past, but it doesn't mitigate the current risks identified in the static analysis. The lack of nonces and capability checks on the unprotected AJAX handlers exacerbates the attack surface concerns, making it easier for attackers to exploit these entry points.

While the plugin's secure SQL handling is a positive indicator, the identified issues in output escaping and the unprotected AJAX endpoints represent immediate and serious threats. The plugin's strength lies in its data handling (SQL), but its weakness is in its input validation and output sanitization for interactive features. The absence of vulnerability history should not lead to complacency, as the current analysis reveals clear potential for exploitation. It is crucial to address the unprotected AJAX handlers and the pervasive unescaped output to improve the plugin's overall security.

Key Concerns

  • Unprotected AJAX handlers
  • Insufficient output escaping
  • No nonce checks on AJAX
  • No capability checks
Vulnerabilities
None known

Say It! Security Vulnerabilities

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

Say It! Code Analysis

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

Bundled Libraries

Guzzle

Output Escaping

26% escaped100 total outputs
Attack Surface
6 unprotected

Say It! Attack Surface

Entry Points9
Unprotected6

AJAX Handlers 6

authwp_ajax_sayit_mp3includes\class-say-it.php:77
noprivwp_ajax_sayit_mp3includes\class-say-it.php:78
authwp_ajax_sayit_mp3includes\class-say-it.php:92
noprivwp_ajax_sayit_mp3includes\class-say-it.php:93
authwp_ajax_sayit_mp3_bulkincludes\class-say-it.php:96
noprivwp_ajax_sayit_mp3_bulkincludes\class-say-it.php:97

Shortcodes 3

[sayit] includes\class-say-it.php:87
[sayit_player] includes\class-say-it.php:88
[sayit_mp3_player] includes\class-say-it.php:89
WordPress Hooks 11
actioninitgutenberg\init.php:3
actionenqueue_block_editor_assetsgutenberg\init.php:21
actionplugins_loadedincludes\class-say-it.php:39
actionadmin_enqueue_scriptsincludes\class-say-it.php:63
actionadmin_enqueue_scriptsincludes\class-say-it.php:64
actionadmin_initincludes\class-say-it.php:67
actionadmin_menuincludes\class-say-it.php:70
actionwp_enqueue_scriptsincludes\class-say-it.php:85
actionwp_enqueue_scriptsincludes\class-say-it.php:86
actioninitsay-it.php:37
actionenqueue_block_editor_assetssay-it.php:55
Maintenance & Trust

Say It! Maintenance & Trust

Maintenance Signals

WordPress version tested5.8.13
Last updatedNov 12, 2021
PHP min version7.4.0
Downloads8K

Community Trust

Rating84/100
Number of ratings11
Active installs100
Developer Profile

Say It! Developer Profile

dadipaq

1 plugin · 100 total installs

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

How We Detect Say It!

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/say-it/gutenberg/js/sayit-format.js/wp-content/plugins/say-it/gutenberg/style.css
Script Paths
/wp-content/plugins/say-it/gutenberg/js/block-say-it.js/wp-content/plugins/say-it/gutenberg/js/sayit-format.js/wp-content/plugins/say-it/admin/js/say-it-admin.js
Version Parameters
say-it/style.css?ver=say-it/script.js?ver=

HTML / DOM Fingerprints

CSS Classes
say-it-player
Data Attributes
data-sayit-textdata-sayit-voicedata-sayit-speeddata-sayit-pitch
JS Globals
sayit_format_params
REST Endpoints
/wp-json/say-it/v1/get-mp3
Shortcode Output
[say_it]
FAQ

Frequently Asked Questions about Say It!