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 |
|---|---|---|---|---|---|---|---|---|
| #4701 | Advanced Marquee Effect for Elementor | 64 | 13 | 10 | 2k+ | Output is not escaped | ||
| #4702 | UniqueID for Contact Form 7 | 64 | 21 | 18 | 2k+ | Text Domain Mismatch | ||
| #4703 | Comment Blacklist Manager | 64 | 14 | 8 | 600 | Output is not escaped | ||
| #4704 | Custom Fields Account Registration For Woocommerce | 64 | 40 | 700 | Missing nonce verification | |||
| #4705 | CV Demo Importer | 64 | 21 | 95 | 400 | Non-prefixed global variable | ||
| #4706 | DataFeedWatch Connector for WooCommerce | 64 | 16 | 112 | 600 | Non-prefixed hook name | ||
| #4707 | Delete Unscaled Images | 64 | 24 | 4 | 800 | Text Domain Mismatch | ||
| #4708 | Disabler | 64 | 212 | 38 | 900 | Text Domain Mismatch | ||
| #4709 | Download Theme | 64 | 18 | 20 | 4k+ | wp function not compatible with requires wp | ||
| #4710 | ELEX WooCommerce Product Price Custom Text (Before & After Text) and Discount | 64 | 444 | 137 | 2k+ | Missing Arg Domain | ||
| #4711 | Estonian Shipping Methods for WooCommerce | 64 | 97 | 16 | 1k+ | Text Domain Mismatch | ||
| #4712 | Evermore | 64 | 8 | 12 | 1k+ | Input is not validated | ||
| #4713 | Icon Element – Icon Pack for Elementor Page Builder (6718 icons) | 64 | 30 | 16 | 40k+ | wp function not compatible with requires wp | ||
| #4714 | Online Payments with iK Pay Gateway | 64 | 12 | 28 | 1k+ | Missing nonce verification | ||
| #4715 | Inactive Logout | 64 | 30 | 71 | 10k+ | Non-prefixed global variable | ||
| #4716 | Integrate Firebase | 64 | 26 | 7 | 500 | Output is not escaped | ||
| #4717 | Inline Related Posts | 64 | 17 | 39 | 100k+ | Nonce verification recommended | ||
| #4718 | Kama SpamBlock | 64 | 29 | 7 | 5k+ | Short PHP open tag found | ||
| #4719 | Moosend Website Connector | 64 | 15 | 12 | 1k+ | Non Singular String Literal Domain | ||
| #4720 | Nofollow for external link | 64 | 8 | 5 | 10k+ | Output is not escaped | ||
| #4721 | Pageviews | 64 | 15 | 12 | 1k+ | Missing Translators Comment | ||
| #4722 | Send From | 64 | 5 | 18 | 500 | Input is not sanitized | ||
| #4723 | Stag Custom Sidebars | 64 | 10 | 12 | 2k+ | Text Domain Mismatch | ||
| #4724 | Stancer for WooCommerce | 64 | 2 | 108 | 400 | Non-prefixed global variable | ||
| #4725 | Oceanwp sticky header | 64 | 8 | 13 | 10k+ | Missing nonce verification | ||
| #4726 | 64 | 27 | 23 | 9k+ | Missing Translators Comment | |||
| #4727 | WProofreader spell & grammar check plugin for WordPress | 64 | 12 | 43 | 4k+ | Non-prefixed global variable | ||
| #4728 | WP REST API Controller | 64 | 8 | 22 | 8k+ | Nonce verification recommended | ||
| #4729 | WP REST Cache | 64 | 11 | 113 | 10k+ | Direct Query | ||
| #4730 | WP Search with Algolia | 64 | 27 | 16 | 7k+ | Missing direct file access protection | ||
| #4731 | WP Term Order | 64 | 2 | 26 | 6k+ | Nonce verification recommended | ||
| #4732 | YaMaps for WordPress Plugin | 64 | 21 | 30 | 10k+ | Non-prefixed global variable | ||
| #4733 | Authorizer | 65 | 3 | 54 | 5k+ | Nonce verification recommended | ||
| #4734 | Contact Form 7 – Success Page Redirects | 65 | 5 | 15 | 10k+ | Input is not sanitized | ||
| #4735 | Custom Global Variables | 65 | 14 | 12 | 5k+ | Output is not escaped | ||
| #4736 | Custom Share Buttons with Floating Sidebar | 65 | 164 | 20 | 4k+ | Text Domain Mismatch | ||
| #4737 | Cyr to Lat Reloaded – Transliteration of Links and File Names | 65 | 13 | 36 | 30k+ | Direct Query | ||
| #4738 | Disable REST API | 65 | 12 | 15 | 80k+ | Output is not escaped | ||
| #4739 | Dojo for WooCommerce | 65 | 71 | 13 | 800 | Text Domain Mismatch | ||
| #4740 | EDD Hide Download | 65 | 13 | 13 | 600 | Output is not escaped | ||
| #4741 | Live Chat with Messenger Customer Chat | 65 | 10 | 23 | 3k+ | Input is not sanitized | ||
| #4742 | Featured Galleries | 65 | 15 | 10 | 3k+ | Output is not escaped | ||
| #4743 | HTACCESS IP Blocker | 65 | 5 | 14 | 2k+ | Missing nonce verification | ||
| #4744 | Multi Image Metabox | 65 | 17 | 8 | 6k+ | Output is not escaped | ||
| #4745 | MW WP Form reCAPTCHA | 65 | 11 | 14 | 2k+ | Input is not sanitized | ||
| #4746 | Product Image and Video Gallery Slider for WooCommerce | 65 | 13 | 7 | 700 | Output is not escaped | ||
| #4747 | Read More Excerpt Link | 65 | 19 | 8 | 3k+ | Output is not escaped | ||
| #4748 | Redirect 404 to Home Page – Custom URL | 65 | 7 | 11 | 4k+ | Output is not escaped | ||
| #4749 | Slider Revolution Search Replace | 65 | 5 | 14 | 900 | Input is not validated | ||
| #4750 | SocketLabs | 65 | 15 | 18 | 900 | Output is not escaped |