WordPress.Security.ValidatedSanitizedInput.MissingUnslash
Request data is not unslashed
Input from a WordPress request superglobal is used before removing WordPress-added slashes.
Why It Shows Up
WordPress adds slashes to request data for historical compatibility. The scan found `$_GET`, `$_POST`, `$_REQUEST`, or similar input used without `wp_unslash()`.
Why It Matters
Sanitizing slashed data can produce incorrect values, failed comparisons, broken validation, or stored data that does not match what the user submitted.
How to Fix
- Read the specific request key, then call `wp_unslash()` on it.
- Sanitize the unslashed value with a function that matches the expected data type.
- Validate the sanitized value before using it in permissions, queries, redirects, or stored settings.
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #4401 | Auto Image Alt Attribute | 55 | 26 | 7 | 6k+ | Unsafe printing function | ||
| #4402 | Chabok | چابک | 55 | 16 | 31 | 400 | Nonce verification recommended | ||
| #4403 | Custom Upload Dir | 55 | 63 | 7 | 5k+ | Missing Arg Domain | ||
| #4404 | Disable Feeds | 55 | 9 | 9 | 20k+ | Output is not escaped | ||
| #4405 | Email Template Customizer for WooCommerce | 55 | 552 | 248 | 20k+ | Text Domain Mismatch | ||
| #4406 | Feedbucket – Website Feedback Tool | 55 | 10 | 25 | 1k+ | Input is not validated | ||
| #4407 | Go Live Update Urls | 55 | 11 | 49 | 80k+ | Non-prefixed hook name | ||
| #4408 | Head Meta Data | 55 | 19 | 42 | 10k+ | Non-prefixed function | ||
| #4409 | Head, Footer and Post Injections | 55 | 9 | 52 | 200k+ | Non-prefixed global variable | ||
| #4410 | Hide Admin Menu | 55 | 18 | 27 | 20k+ | Non-prefixed function | ||
| #4411 | Holded integration | 55 | 72 | 23 | 2k+ | Non Singular String Literal Domain | ||
| #4412 | JetWidgets For Elementor | 55 | 99 | 279 | 10k+ | Non-prefixed global variable | ||
| #4413 | Landingi Landing Pages | 55 | 18 | 23 | 2k+ | Input is not sanitized | ||
| #4414 | Login or Logout Menu Item | 55 | 13 | 7 | 20k+ | Unsafe printing function | ||
| #4415 | Mailster for WooCommerce | 55 | 23 | 32 | 1k+ | Non-prefixed global variable | ||
| #4416 | LexonRank: AI Link Building, Free Backlinks & SEO Automation | 55 | 15 | 20 | 1k+ | Nonce verification recommended | ||
| #4417 | Marvy – Background Animations for Elementor | 55 | 63 | 34 | 4k+ | Text Domain Mismatch | ||
| #4418 | Mortgage Calculator | 55 | 98 | 16 | 4k+ | Text Domain Mismatch | ||
| #4419 | Page Animations And Transitions | 55 | 89 | 67 | 1k+ | Non Singular String Literal Domain | ||
| #4420 | Fast Page & Post Duplicator | 55 | 12 | 25 | 60k+ | Direct Query | ||
| #4421 | Virtual Robots.txt | 55 | 10 | 21 | 40k+ | Input is not validated | ||
| #4422 | Popup Maker – Responsive popup, Exit Intent Pop up, Email Optins, Autoresponder & More | 55 | 44 | 64 | 7k+ | Text Domain Mismatch | ||
| #4423 | Quick and Easy Testimonials | 55 | 62 | 32 | 3k+ | Non Singular String Literal Domain | ||
| #4424 | Refer A Friend for WooCommerce by WPGens | 55 | 77 | 21 | 1k+ | Text Domain Mismatch | ||
| #4425 | Semrush Content Toolkit | 55 | 22 | 24 | 2k+ | Non-prefixed global variable | ||
| #4426 | Slider Block by Sliderberg – WordPress Slider & Carousel Plugin for Gutenberg | 55 | 23 | 19 | 1k+ | Output is not escaped | ||
| #4427 | Free customer chat solution | 55 | 18 | 10 | 500 | Output is not escaped | ||
| #4428 | Text Changer for Welcart | 55 | 477 | 43 | 500 | Text Domain Mismatch | ||
| #4429 | Trusona for WordPress | 55 | 8 | 34 | 500 | Non-prefixed function | ||
| #4430 | VS Contact Form | 55 | 3 | 318 | 7k+ | Non-prefixed global variable | ||
| #4431 | VK Block Patterns | 55 | 8 | 61 | 100k+ | Non-prefixed function | ||
| #4432 | AAArdvark Accessibility Reports | 55 | 62 | 42 | 700 | Non-prefixed global variable | ||
| #4433 | Payment Integration Wompi – El Salvador | 55 | 50 | 27 | 800 | Text Domain Mismatch | ||
| #4434 | WP Ultimate Review | 55 | 23 | 381 | 70k+ | Non-prefixed global variable | ||
| #4435 | Yext Plugin | 55 | 16 | 23 | 800 | Non-prefixed function | ||
| #4436 | Admin Bar Fix | 56 | 40 | 18 | 400 | Text Domain Mismatch | ||
| #4437 | All in One SEO Pack Importer | 56 | 17 | 25 | 500 | Direct Query | ||
| #4438 | Anti-Captcha (anti-spam botblocker) | 56 | 23 | 26 | 1k+ | rand mt rand | ||
| #4439 | BotPenguin – Generative AI Chatbot with Live Chat & ChatGPT | 56 | 12 | 7 | 600 | Unsafe printing function | ||
| #4440 | BuddyCommerce: WooCommerce and BuddyPress Integration | 56 | 29 | 19 | 800 | Output is not escaped | ||
| #4441 | CHEQ Essentials | 56 | 14 | 49 | 700 | Request data is not unslashed | ||
| #4442 | Contextual Adminbar Color | 56 | 18 | 16 | 500 | Output is not escaped | ||
| #4443 | FluentSnippets – High-Performance Code Snippets, Header & Footer Code, Custom CSS & PHP Code Manager | 56 | 31 | 27 | 50k+ | Nonce verification recommended | ||
| #4444 | Easy Digital Downloads Featured Downloads | 56 | 15 | 15 | 1k+ | Output is not escaped | ||
| #4445 | FV Top Level Categories | 56 | 24 | 16 | 20k+ | Text Domain Mismatch | ||
| #4446 | Grids: Layout builder for WordPress | 56 | 24 | 27 | 2k+ | Missing direct file access protection | ||
| #4447 | Form data to kintone | 56 | 25 | 22 | 1k+ | Output is not escaped | ||
| #4448 | Kwayy HTML Sitemap | 56 | 13 | 19 | 6k+ | Missing nonce verification | ||
| #4449 | LearnPress – Course Wishlist | 56 | 35 | 22 | 20k+ | Output is not escaped | ||
| #4450 | Free Live Chat Support | 56 | 9 | 20 | 600 | Output is not escaped |