WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
Input is not sanitized
Request data is used without being cleaned for the expected type or format.
Why It Shows Up
The scan found superglobal input flowing into code without a sanitizer such as `sanitize_text_field()`, `absint()`, `sanitize_key()`, `esc_url_raw()`, or a custom allowlist.
Why It Matters
Unsanitized input can pollute stored settings, alter logic, break queries, or become part of a later security issue.
How to Fix
- Unslash request data with `wp_unslash()` first.
- Choose the sanitizer for the expected value, such as `absint()` for IDs or `sanitize_key()` for keys.
- Use allowlists for actions, sort fields, file names, option names, and other constrained values.
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #2001 | Mailmunch Forms for Mailchimp | 34 | 120 | 53 | 10k+ | Output is not escaped | ||
| #2002 | MantraBrain Starter Sites | MantraBrain Theme Demo Importer | 34 | 117 | 61 | 1k+ | Output is not escaped | ||
| #2003 | Mass Ping Tool for SEO – WordPress ping list to get indexed faster on Google, Yandex, … | 34 | 77 | 96 | 400 | Output is not escaped | ||
| #2004 | Media Vault | 34 | 115 | 150 | 800 | Output is not escaped | ||
| #2005 | Melhor Envio | 34 | 24 | 276 | 10k+ | Nonce verification recommended | ||
| #2006 | Meow Analytics (Google Analytics) | 34 | 80 | 54 | 400 | Output is not escaped | ||
| #2007 | Meow Lightbox | 34 | 77 | 52 | 10k+ | Non Singular String Literal Domain | ||
| #2008 | Meta Tag Manager | 34 | 142 | 321 | 80k+ | Nonce verification recommended | ||
| #2009 | OTP Login & Register Woocommerce | 34 | 148 | 202 | 1k+ | Missing nonce verification | ||
| #2010 | Montonio for WooCommerce | 34 | 44 | 258 | 10k+ | Non-prefixed global variable | ||
| #2011 | MPL-Publisher — Ebook & Audiobook Creator | 34 | 489 | 76 | 800 | Text Domain Mismatch | ||
| #2012 | Multi Step Form | 34 | 277 | 139 | 9k+ | Output is not escaped | ||
| #2013 | My Tickets – Accessible Event Ticketing | 34 | 314 | 566 | 700 | Nonce verification recommended | ||
| #2014 | NextGEN Gallery Optimizer | 34 | 128 | 92 | 2k+ | Output is not escaped | ||
| #2015 | One User Avatar | User Profile Picture | 34 | 68 | 190 | 100k+ | Non-prefixed global variable | ||
| #2016 | Optima Express IDX | 34 | 71 | 237 | 10k+ | Non-prefixed class | ||
| #2017 | Child Theme Creator by Orbisius | 34 | 86 | 39 | 10k+ | Output is not escaped | ||
| #2018 | Team Members Profile – Employee Directory & Staff Showcase | 34 | 339 | 90 | 600 | Output is not escaped | ||
| #2019 | OwnerRez | 34 | 79 | 56 | 700 | Unsafe printing function | ||
| #2020 | MW Font Changer | 34 | 463 | 75 | 7k+ | Text Domain Mismatch | ||
| #2021 | PDF Invoices and Packing Slips For WooCommerce | 34 | 108 | 284 | 1k+ | Non-prefixed global variable | ||
| #2022 | PhonePe Payment Solutions | 34 | 77 | 106 | 10k+ | Missing direct file access protection | ||
| #2023 | Podigee WordPress Quick Publish – now with Gutenberg support! | 34 | 108 | 95 | 700 | Text Domain Mismatch | ||
| #2024 | Progress Bar & Skill Bar | 34 | 175 | 179 | 1k+ | Non Singular String Literal Domain | ||
| #2025 | PushEngage – Web Push Notifications, WooCommerce Automation & Chat Widget | 34 | 46 | 298 | 9k+ | Missing nonce verification | ||
| #2026 | PW WooCommerce Bulk Edit | 34 | 219 | 149 | 20k+ | Unsafe printing function | ||
| #2027 | PW WooCommerce Gift Cards | 34 | 238 | 185 | 20k+ | Output is not escaped | ||
| #2028 | QuadLayers Telegram Button | 34 | 149 | 71 | 1k+ | Text Domain Mismatch | ||
| #2029 | Giveaways and Contests by RafflePress – Get More Website Traffic, Email Subscribers, and Social Followers | 34 | 261 | 863 | 20k+ | Non-prefixed global variable | ||
| #2030 | RaraTheme Companion | 34 | 430 | 71 | 10k+ | Output is not escaped | ||
| #2031 | Event Timeline – Vertical Timeline | 34 | 26 | 684 | 1k+ | Non-prefixed global variable | ||
| #2032 | RTMForm Builder | 34 | 188 | 209 | 30k+ | Text Domain Mismatch | ||
| #2033 | Route ‑ Shipping Protection | 34 | 64 | 150 | 500 | Missing nonce verification | ||
| #2034 | Saphali Woocommerce Lite | 34 | 376 | 313 | 10k+ | Non-prefixed global variable | ||
| #2035 | Search Engine Insights for Google Search Console | 34 | 174 | 113 | 2k+ | Output is not escaped | ||
| #2036 | Search Meter | 34 | 191 | 94 | 20k+ | Output is not escaped | ||
| #2037 | Security Safe | 34 | 193 | 164 | 700 | Missing Translators Comment | ||
| #2038 | Seriously Simple Stats | 34 | 99 | 126 | 5k+ | Output is not escaped | ||
| #2039 | Social Integration for BlueSky | 34 | 98 | 147 | 700 | Non-prefixed global variable | ||
| #2040 | Software License Manager | 34 | 69 | 289 | 900 | Nonce verification recommended | ||
| #2041 | Subscribe to Download Lite – Email Before Download Plugin | 34 | 106 | 157 | 400 | Non-prefixed global variable | ||
| #2042 | SuperFrete | 34 | 84 | 242 | 1k+ | Request data is not unslashed | ||
| #2043 | Swiftype Site Search Plugin for WordPress | 34 | 250 | 50 | 400 | Output is not escaped | ||
| #2044 | Tab Ultimate | 34 | 107 | 138 | 1k+ | Output is not escaped | ||
| #2045 | TaxJar – Sales Tax Automation for WooCommerce | 34 | 236 | 170 | 5k+ | Text Domain Mismatch | ||
| #2046 | Testimonial Slider | 34 | 448 | 262 | 3k+ | Unsafe printing function | ||
| #2047 | Easy Mega Menu for WordPress – ThemeHunk | 34 | 480 | 256 | 1k+ | Text Domain Mismatch | ||
| #2048 | Throws SPAM Away | 34 | 327 | 123 | 10k+ | Missing Arg Domain | ||
| #2049 | Tools for Twitter | 34 | 135 | 87 | 1k+ | Output is not escaped | ||
| #2050 | Ultimate 410 Gone Status Code | 34 | 136 | 65 | 7k+ | Output is not escaped |