Text Truncator Security & Risk Analysis

wordpress.org/plugins/text-truncator

Truncates text of specified HTML elements by number of lines.

10 active installs v1 PHP + WP 3.3+ Updated Jul 4, 2015
appearancetexttruncatetruncator
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Text Truncator Safe to Use in 2026?

Generally Safe

Score 85/100

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

No known CVEs Updated 10yr ago
Risk Assessment

The "text-truncator" plugin v1 exhibits a generally positive security posture based on the provided static analysis and vulnerability history. The absence of known CVEs and a complete lack of recorded vulnerabilities in its history suggest a history of secure development or successful patching of past issues. The plugin also shows good practices by implementing capability checks and nonce checks in several areas of its code. However, there are some areas of concern that warrant attention.

The static analysis reveals a significant number of file operations (10) and external HTTP requests (4), which can introduce vulnerabilities if not handled with extreme care. While the taint analysis did not flag any critical or high-severity issues, the fact that all 12 analyzed flows have unsanitized paths is a significant concern. This indicates a potential for input manipulation that could lead to unexpected behavior or exploitation if coupled with other weaknesses. Furthermore, the moderate rate of properly escaped output (48%) suggests that a substantial portion of the plugin's output is not being sanitized, increasing the risk of cross-site scripting (XSS) vulnerabilities.

While the attack surface appears to be zero in terms of AJAX handlers, REST API routes, shortcodes, and cron events, this might be misleading if the plugin's functionality is entirely driven by file operations or external requests that are not explicitly listed as entry points. The SQL query usage also raises a flag, with only 20% using prepared statements, implying a risk of SQL injection vulnerabilities in the remaining queries. In conclusion, despite a clean vulnerability history, the plugin's internal code quality regarding input sanitization and output escaping, along with its reliance on file operations and external requests, presents a moderate risk that needs careful consideration.

Key Concerns

  • Unsanitized paths in taint flows
  • Low percentage of properly escaped output
  • Low percentage of SQL prepared statements
  • Significant number of file operations
  • Significant number of external HTTP requests
Vulnerabilities
None known

Text Truncator Security Vulnerabilities

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

Text Truncator Code Analysis

Dangerous Functions
0
Raw SQL Queries
4
1 prepared
Unescaped Output
43
40 escaped
Nonce Checks
2
Capability Checks
8
File Operations
10
External Requests
4
Bundled Libraries
0

SQL Query Safety

20% prepared5 total queries

Output Escaping

48% escaped83 total outputs
Data Flows
12 unsanitized

Data Flow Analysis

12 flows12 with unsanitized paths
_replyToCheckRedirects (include\library\admin-page-framework\factory\AdminPageFramework\AdminPageFramework_Form_Model.php:51)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Text Truncator Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 79
actionwp_enqueue_scriptsinclude\class\script\TextTruncator_ScriptLoader.php:44
actionnetwork_admin_noticesinclude\library\admin-page-framework\factory\AdminPageFramework\AdminPageFramework_Controller.php:59
actionadmin_noticesinclude\library\admin-page-framework\factory\AdminPageFramework\AdminPageFramework_Controller.php:61
actionadmin_menuinclude\library\admin-page-framework\factory\AdminPageFramework\AdminPageFramework_Menu_Controller.php:14
actioncurrent_screeninclude\library\admin-page-framework\factory\AdminPageFramework\AdminPageFramework_Menu_Model.php:79
filteradmin_titleinclude\library\admin-page-framework\factory\AdminPageFramework\AdminPageFramework_Menu_Model.php:100
actionadmin_headinclude\library\admin-page-framework\factory\AdminPageFramework\AdminPageFramework_Page_View_MetaBox.php:14
filterscreen_layout_columnsinclude\library\admin-page-framework\factory\AdminPageFramework\AdminPageFramework_Page_View_MetaBox.php:15
actionwp_loadedinclude\library\admin-page-framework\factory\AdminPageFramework\AdminPageFramework_Router.php:16
actionadmin_headinclude\library\admin-page-framework\factory\AdminPageFramework\controller\AdminPageFramework_HelpPane_Page.php:15
filterplugin_row_metainclude\library\admin-page-framework\factory\AdminPageFramework\controller\AdminPageFramework_Link_Page.php:25
filterwp_mail_content_typeinclude\library\admin-page-framework\factory\AdminPageFramework\model\AdminPageFramework_FormEmail.php:24
filterwp_mail_frominclude\library\admin-page-framework\factory\AdminPageFramework\model\AdminPageFramework_FormEmail.php:27
filterwp_mail_from_nameinclude\library\admin-page-framework\factory\AdminPageFramework\model\AdminPageFramework_FormEmail.php:30
filterupdate_footerinclude\library\admin-page-framework\factory\AdminPageFramework\view\AdminPageFramework_PageLoadInfo_Page.php:19
actionshutdowninclude\library\admin-page-framework\factory\AdminPageFramework_Factory\AdminPageFramework_Factory_Controller.php:53
actionshutdowninclude\library\admin-page-framework\factory\AdminPageFramework_Factory\AdminPageFramework_Factory_Controller.php:64
actionshutdowninclude\library\admin-page-framework\factory\AdminPageFramework_Factory\AdminPageFramework_Factory_Model.php:59
actioncurrent_screeninclude\library\admin-page-framework\factory\AdminPageFramework_Factory\AdminPageFramework_Factory_Router.php:24
actionnetwork_admin_noticesinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\AdminPageFramework_Factory_View.php:19
actionadmin_noticesinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\AdminPageFramework_Factory_View.php:21
actionin_admin_footerinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\controller\AdminPageFramework_Link_Base.php:15
filteradmin_footer_textinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\controller\AdminPageFramework_Link_Base.php:52
filterupdate_footerinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\controller\AdminPageFramework_Link_Base.php:53
actionadmin_enqueue_scriptsinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\controller\AdminPageFramework_Resource_Base.php:21
actionadmin_enqueue_scriptsinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\controller\AdminPageFramework_Resource_Base.php:22
actioncustomize_controls_print_footer_scriptsinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\controller\AdminPageFramework_Resource_Base.php:25
actioncustomize_controls_print_footer_scriptsinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\controller\AdminPageFramework_Resource_Base.php:26
actionadmin_footerinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\controller\AdminPageFramework_Resource_Base.php:27
actionadmin_footerinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\controller\AdminPageFramework_Resource_Base.php:28
actionadmin_print_footer_scriptsinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\controller\AdminPageFramework_Resource_Base.php:29
actionadmin_print_footer_scriptsinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\controller\AdminPageFramework_Resource_Base.php:30
filterscript_loader_srcinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\controller\AdminPageFramework_Resource_Base.php:31
filterstyle_loader_srcinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\controller\AdminPageFramework_Resource_Base.php:32
filterclean_urlinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\controller\AdminPageFramework_Resource_Base.php:44
filtermedia_upload_tabsinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\view\AdminPageFramework_FieldType\AdminPageFramework_FieldType_Base.php:79
filtergettextinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\view\AdminPageFramework_FieldType\AdminPageFramework_FieldType_Base.php:89
actionin_admin_footerinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\view\AdminPageFramework_PageLoadInfo_Base.php:17
actioncustomize_controls_print_footer_scriptsinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\view\AdminPageFramework_Script\AdminPageFramework_Script_Base.php:17
actionadmin_footerinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\view\AdminPageFramework_Script\AdminPageFramework_Script_Base.php:18
actionadmin_footerinclude\library\admin-page-framework\factory\AdminPageFramework_Factory\view\AdminPageFramework_Script\AdminPageFramework_Script_MediaUploader.php:12
filterwp_insert_attachment_datainclude\library\admin-page-framework\factory\AdminPageFramework_MetaBox\AdminPageFramework_MetaBox_Model.php:12
filterwp_insert_post_datainclude\library\admin-page-framework\factory\AdminPageFramework_MetaBox\AdminPageFramework_MetaBox_Model.php:14
filterredirect_post_locationinclude\library\admin-page-framework\factory\AdminPageFramework_MetaBox\AdminPageFramework_MetaBox_Model.php:104
actioncurrent_screeninclude\library\admin-page-framework\factory\AdminPageFramework_MetaBox\AdminPageFramework_MetaBox_Router.php:20
actionadd_meta_boxesinclude\library\admin-page-framework\factory\AdminPageFramework_MetaBox\AdminPageFramework_MetaBox_Router.php:46
actionadmin_headinclude\library\admin-page-framework\factory\AdminPageFramework_MetaBox\controller\AdminPageFramework_HelpPane_MetaBox.php:14
actionadmin_menuinclude\library\admin-page-framework\factory\AdminPageFramework_MetaBox_Page\model\AdminPageFramework_Property_MetaBox_Page.php:14
actionnetwork_admin_menuinclude\library\admin-page-framework\factory\AdminPageFramework_MetaBox_Page\model\AdminPageFramework_Property_MetaBox_Page.php:16
actionnetwork_admin_menuinclude\library\admin-page-framework\factory\AdminPageFramework_NetworkAdmin\AdminPageFramework_NetworkAdmin.php:14
actionin_admin_footerinclude\library\admin-page-framework\factory\AdminPageFramework_NetworkAdmin\view\AdminPageFramework_PageLoadInfo_NetworkAdminPage.php:13
filterupdate_footerinclude\library\admin-page-framework\factory\AdminPageFramework_NetworkAdmin\view\AdminPageFramework_PageLoadInfo_NetworkAdminPage.php:28
actioninitinclude\library\admin-page-framework\factory\AdminPageFramework_PostType\AdminPageFramework_PostType_Controller.php:58
actionadmin_menuinclude\library\admin-page-framework\factory\AdminPageFramework_PostType\AdminPageFramework_PostType_Controller.php:65
actionadmin_enqueue_scriptsinclude\library\admin-page-framework\factory\AdminPageFramework_PostType\AdminPageFramework_PostType_Model.php:17
actionrestrict_manage_postsinclude\library\admin-page-framework\factory\AdminPageFramework_PostType\AdminPageFramework_PostType_View.php:12
actionrestrict_manage_postsinclude\library\admin-page-framework\factory\AdminPageFramework_PostType\AdminPageFramework_PostType_View.php:13
filterparse_queryinclude\library\admin-page-framework\factory\AdminPageFramework_PostType\AdminPageFramework_PostType_View.php:14
actionadmin_headinclude\library\admin-page-framework\factory\AdminPageFramework_PostType\AdminPageFramework_PostType_View.php:15
actionthe_contentinclude\library\admin-page-framework\factory\AdminPageFramework_PostType\AdminPageFramework_PostType_View.php:17
actionget_edit_post_linkinclude\library\admin-page-framework\factory\AdminPageFramework_PostType\controller\AdminPageFramework_Link_PostType.php:12
actionafter_switch_themeinclude\library\admin-page-framework\factory\AdminPageFramework_PostType\model\AdminPageFramework_Property_PostType.php:29
filterupdate_footerinclude\library\admin-page-framework\factory\AdminPageFramework_PostType\view\AdminPageFramework_PageLoadInfo_PostType.php:22
actionwp_loadedinclude\library\admin-page-framework\factory\AdminPageFramework_TaxonomyField\AdminPageFramework_TaxonomyField_Router.php:12
actioncurrent_screeninclude\library\admin-page-framework\factory\AdminPageFramework_TaxonomyField\AdminPageFramework_TaxonomyField_Router.php:34
actionwp_loadedinclude\library\admin-page-framework\factory\AdminPageFramework_UserMeta\AdminPageFramework_UserMeta_Router.php:12
actioncurrent_screeninclude\library\admin-page-framework\factory\AdminPageFramework_UserMeta\AdminPageFramework_UserMeta_Router.php:28
actionshow_user_profileinclude\library\admin-page-framework\factory\AdminPageFramework_UserMeta\AdminPageFramework_UserMeta_Router.php:29
actionedit_user_profileinclude\library\admin-page-framework\factory\AdminPageFramework_UserMeta\AdminPageFramework_UserMeta_Router.php:30
actionuser_new_forminclude\library\admin-page-framework\factory\AdminPageFramework_UserMeta\AdminPageFramework_UserMeta_Router.php:31
actionpersonal_options_updateinclude\library\admin-page-framework\factory\AdminPageFramework_UserMeta\AdminPageFramework_UserMeta_Router.php:32
actionedit_user_profile_updateinclude\library\admin-page-framework\factory\AdminPageFramework_UserMeta\AdminPageFramework_UserMeta_Router.php:33
actionuser_registerinclude\library\admin-page-framework\factory\AdminPageFramework_UserMeta\AdminPageFramework_UserMeta_Router.php:34
actionwidgets_initinclude\library\admin-page-framework\factory\AdminPageFramework_Widget\AdminPageFramework_Widget_Controller.php:15
actionwidgets_initinclude\library\admin-page-framework\factory\AdminPageFramework_Widget\AdminPageFramework_Widget_Model.php:14
actionadmin_noticesinclude\library\admin-page-framework\utility\AdminPageFramework_AdminNotice.php:16
actioninitinclude\library\admin-page-framework\utility\AdminPageFramework_PluginBootstrap.php:35
actionadmin_noticesinclude\library\admin-page-framework\utility\AdminPageFramework_Requirement.php:75
actionadmin_noticesinclude\library\admin-page-framework\utility\AdminPageFramework_Requirement.php:93
Maintenance & Trust

Text Truncator Maintenance & Trust

Maintenance Signals

WordPress version tested4.2.39
Last updatedJul 4, 2015
PHP min version
Downloads2K

Community Trust

Rating100/100
Number of ratings2
Active installs10
Developer Profile

Text Truncator Developer Profile

miunosoft

15 plugins · 2K total installs

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

How We Detect Text Truncator

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/text-truncator/asset/js/trunk8.js/wp-content/plugins/text-truncator/asset/js/text-truncator.js
Script Paths
/asset/js/trunk8.js/asset/js/text-truncator.js

HTML / DOM Fingerprints

JS Globals
trunk8TextTruncator
FAQ

Frequently Asked Questions about Text Truncator