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 |
|---|---|---|---|---|---|---|---|---|
| #5051 | Album Gallery for Photo & Video | 78 | 7 | 8 | 4k+ | wp function not compatible with requires wp | ||
| #5052 | PRENA – Product Pre-Orders for WooCommerce | 78 | 6 | 29 | 2k+ | Request data is not unslashed | ||
| #5053 | Rename XMLRPC | 78 | 7 | 3 | 1k+ | Output is not escaped | ||
| #5054 | Resend Welcome Email | 78 | 5 | 9 | 1k+ | Nonce verification recommended | ||
| #5055 | RSS Includes Pages | 78 | 4 | 8 | 10k+ | Output is not escaped | ||
| #5056 | Run SQL Query | 78 | 13 | 8 | 600 | Non-prefixed global variable | ||
| #5057 | SearchWP Live Ajax Search | 78 | 8 | 23 | 50k+ | Non-prefixed global variable | ||
| #5058 | Sendy | 78 | 11 | 2 | 400 | Output is not escaped | ||
| #5059 | Spider Blocker | 78 | 19 | 9 | 20k+ | Missing Translators Comment | ||
| #5060 | Thumbnails and Featured Images | 78 | 16 | 14 | 1k+ | Short PHP open tag found | ||
| #5061 | Tock Widget | 78 | 6 | 9 | 400 | Missing direct file access protection | ||
| #5062 | Wheel of Life: Coaching and Assessment Tool for Life Coach | 78 | 3 | 113 | 3k+ | Non-prefixed global variable | ||
| #5063 | Wisepops Popups & Notifications | 78 | 15 | 500 | Nonce verification recommended | |||
| #5064 | WooCommerce Square | 78 | 6 | 266 | 80k+ | Non-prefixed hook name | ||
| #5065 | WP Faster | 78 | 7 | 12 | 1k+ | trademarked term | ||
| #5066 | Import / Export Customizer Settings | 79 | 5 | 13 | 50k+ | Input is not sanitized | ||
| #5067 | Auto Featured Image (Auto Post Thumbnail) | 79 | 5 | 30 | 50k+ | Non-prefixed hook name | ||
| #5068 | Better Font Awesome | 79 | 6 | 9 | 70k+ | Input is not sanitized | ||
| #5069 | Boxzilla – WordPress Popup Builder | 79 | 4 | 64 | 20k+ | Non-prefixed global variable | ||
| #5070 | Click To Copy – Copy Text or Code to Clipboard Instantly | 79 | 9 | 8 | 900 | Text Domain Mismatch | ||
| #5071 | Contact Form 7 Get and Show Parameter from URL | 79 | 3 | 10 | 800 | Input is not sanitized | ||
| #5072 | Custom Background Changer | 79 | 48 | 11 | 1k+ | Non Singular String Literal Domain | ||
| #5073 | Exclude Pages From Menu | 79 | 6 | 11 | 8k+ | Non-prefixed function | ||
| #5074 | Fygaro WC Plugin | 79 | 38 | 6 | 600 | Text Domain Mismatch | ||
| #5075 | Manage Privacy Options Page | 79 | 3 | 11 | 1k+ | Input is not validated | ||
| #5076 | Oxyplug Preload | 79 | 7 | 9 | 500 | Output is not escaped | ||
| #5077 | تقویم فارسی – Persian Calendar | 79 | 2 | 8 | 2k+ | Nonce verification recommended | ||
| #5078 | Related Products Manager for WooCommerce | 79 | 9 | 43 | 1k+ | Non-prefixed global variable | ||
| #5079 | Remove Category URL – Remove 'category' base from category permalinks | 79 | 5 | 8 | 50k+ | Missing direct file access protection | ||
| #5080 | Remove noreferrer | 79 | 17 | 14 | 5k+ | Missing Arg Domain | ||
| #5081 | Retainful – WooCommerce Abandoned Cart, Newsletters, Email Marketing, Signup Forms and Automation | 79 | 15 | 26 | 1k+ | Non-prefixed hook name | ||
| #5082 | SSH SFTP Updater Support | 79 | 6 | 31 | 10k+ | Non-prefixed global variable | ||
| #5083 | Testimonial Customer Feedback | 79 | 3 | 6 | 1k+ | Nonce verification recommended | ||
| #5084 | Customizer for WooCommerce | 79 | 4 | 6 | 20k+ | Missing nonce verification | ||
| #5085 | New Relic Reporting for WordPress | 79 | 4 | 16 | 600 | Nonce verification recommended | ||
| #5086 | WP Page Loading | 79 | 14 | 9 | 800 | Text Domain Mismatch | ||
| #5087 | WP Permastructure | 79 | 14 | 6 | 400 | Missing Arg Domain | ||
| #5088 | WP Referral Code | 79 | 18 | 19 | 600 | Missing direct file access protection | ||
| #5089 | WPC Additional Variation Images for WooCommerce | 79 | 4 | 26 | 800 | Non-prefixed class | ||
| #5090 | AMS Hide Page and Post Title | 80 | 4 | 6 | 500 | Input is not sanitized | ||
| #5091 | Button | 80 | 65 | 28 | 2k+ | Text Domain Mismatch | ||
| #5092 | wModes – Catalog Mode, Product Pricing, Enquiry Forms & Promotions | for WooCommerce | 80 | 465 | 900 | Non-prefixed global variable | |||
| #5093 | Cresta Help Chat | 80 | 6 | 6 | 10k+ | Output is not escaped | ||
| #5094 | Custom Icons for Elementor | 80 | 6 | 25 | 10k+ | Non-prefixed global variable | ||
| #5095 | Docxpresso | 80 | 9 | 14 | 2k+ | Input is not sanitized | ||
| #5096 | Easy Charts | 80 | 13 | 28 | 1k+ | Non-prefixed global variable | ||
| #5097 | Eli's PHP Compatibility Scanner | 80 | 1 | 22 | 400 | Missing nonce verification | ||
| #5098 | Extended Title Remover | 80 | 14 | 4 | 1k+ | wp function not compatible with requires wp | ||
| #5099 | Flipbox | 80 | 14 | 17 | 2k+ | wp function not compatible with requires wp | ||
| #5100 | Fluent PDF Generator | 80 | 102 | 6 | 20k+ | Text Domain Mismatch |