WordPress.Security.EscapeOutput.UnsafePrintingFunction

Unsafe printing function

A printing function is outputting dynamic content without proving that the content is escaped.

critical weight

Why It Shows Up

The scan saw output through functions such as `printf`, `print`, or similar constructs where the printed values were not escaped for their context.

Why It Matters

Formatted output is still browser output. If any argument contains attacker-controlled content, the page can become vulnerable to cross-site scripting.

How to Fix

  • Escape every dynamic argument with `esc_html()`, `esc_attr()`, `esc_url()`, or `wp_kses()` as appropriate.
  • Keep translation wrappers and escaping wrappers in the correct order, such as `esc_html__( 'Text', 'text-domain' )` for translated text.
  • Avoid marking values as safe unless they are hard-coded or already strictly constrained.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#651LoginWP (Formerly Peter's Login Redirect)2640127890k+Output is not escaped
#652Crowdsignal Dashboard – Polls, Surveys & more26481491200k+Unsafe printing function
#653Portfolio by BestWebSoft – Work and Projects Presentation Plugin for WordPress26525240600Text Domain Mismatch
#654Post List Designer – Category Post, Recent Post, Post List265421,3201k+Non-prefixed global variable
#655Premmerce User Roles265971,357600Non-prefixed global variable
#656RestaurantPress26265518600Output is not escaped
#657Role Based Pricing for Woo by Meow Crew265481,3542k+Non-prefixed global variable
#658SEO Booster264031,3311k+Non-prefixed global variable
#659SP Move Login268812156k+Text Domain Mismatch
#660Sliced Invoices – WordPress Invoice Plugin266844555k+Output is not escaped
#661Video Gallery – Vimeo and YouTube Gallery265617946k+Non-prefixed global variable
#662SV Proven Expert26747380900Output is not escaped
#663Tag Groups is the Advanced Way to Display Your Taxonomy Terms263512323k+Unsafe printing function
#664Theater for WordPress26348344600Output is not escaped
#665Ultimate Reviews26515345500Output is not escaped
#666URL Image Importer – Import External Images to the Media Library from URL, CSV & XML26143239700Missing nonce verification
#667User Avatar261041734k+Non-prefixed constant
#668VikWidgetsLoader – Collection of Widgets261,1825381k+Output is not escaped
#669Virtue/Ascend/Pinnacle Toolkit2660530030k+Output is not escaped
#670Cart Abandonment Recovery for WooCommerce – Recover Lost Sales with Automated Emails2651325300k+Direct Query
#671Set Price Note (Units, Offers, Editions) for WooCommerce265961,307800Non-prefixed global variable
#672XL NMI Gateway for WooCommerce266954361k+Text Domain Mismatch
#673WP Flashy Marketing Automation264321862k+Text Domain Mismatch
#674WPCOM Member264326381k+Non Singular String Literal Domain
#675WPFrank Companion262,3568651k+Text Domain Mismatch
#676Accordions – Responsive Accordion & FAQ Plugin for WordPress275541581k+Text Domain Mismatch
#677Arconix FAQ275522016k+Text Domain Mismatch
#678BackUpWordPress2724527190k+Non-prefixed global variable
#679Integration for HubSpot and Contact Form 7, WPForms, Elementor, Ninja Forms277203675k+Text Domain Mismatch
#680WP Zoho for Contact Form 7, WPForms, Elementor, Formidable and Ninja Forms – CRM, Bigin276923813k+Text Domain Mismatch
#681Comment Link Remove and Other Comment Tools276911327k+Text Domain Mismatch
#682Duplicate Post27447274300k+Unsafe printing function
#683Cyrlitera – Transliteration of Links and File Names2745320440k+Output is not escaped
#684Gallery – Photo Albums Plugin276472522k+Output is not escaped
#685CM Tooltip Glossary276111887k+Output is not escaped
#686Events Calendar for GeoDirectory271,2624622k+Text Domain Mismatch
#687FG Joomla to WordPress272781017k+Unsafe printing function
#688Foxtool All-in-One: Contact chat button, Custom login, Media optimize images271,6293607k+Unsafe printing function
#689Frontend Post Submission Manager Lite – Frontend Posting WordPress Plugin272124972k+Non-prefixed global variable
#690StylePress for Elementor27767283600Text Domain Mismatch
#691Gravity Forms + Stripe27368210600Output is not escaped
#692GSpeech TTS – WordPress Text To Speech Plugin278423333k+Output is not escaped
#693Hester Core2725310310k+Output is not escaped
#694HM Multiple Roles275371,2871k+Non-prefixed global variable
#695ImageRecycle pdf & image compression273292041k+Text Domain Mismatch
#696Liza Widget For Spotify and Elementor276091,2871k+Non-prefixed global variable
#697MakeCommerce for WooCommerce278264523k+Text Domain Mismatch
#698Memberful – Membership Plugin273513361k+Text Domain Mismatch
#699MLSImport – Download and synchronize real estate data from various MLS (Multiple Listing Services)271545515k+Non-prefixed global variable
#700Nextend Social Login and Register271,668243200k+Output is not escaped