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 |
|---|---|---|---|---|---|---|---|---|
| #1951 | SMS Abandoned Cart Recovery ✦ CartBoss | 34 | 67 | 72 | 400 | SQL query is not prepared | ||
| #1952 | Checkout Field Editor for WooCommerce – Checkout Manager | 34 | 122 | 65 | 20k+ | Text Domain Mismatch | ||
| #1953 | Clean Testimonials | 34 | 127 | 87 | 400 | Output is not escaped | ||
| #1954 | CM Search And Replace – Optimize content edits with a powerful search and replace tool | 34 | 286 | 111 | 2k+ | Output is not escaped | ||
| #1955 | Contact Form 7 – PayPal & Stripe Add-on | 34 | 93 | 233 | 7k+ | Exception output is not escaped | ||
| #1956 | Cornerstone | 34 | 161 | 174 | 30k+ | Nonce verification recommended | ||
| #1957 | CSS JS Manager, Async JavaScript, Defer Render Blocking CSS | 34 | 76 | 106 | 1k+ | Input is not validated | ||
| #1958 | Custom Login Page by SeedProd | 34 | 330 | 125 | 500 | Output is not escaped | ||
| #1959 | Custom Post Type Attachment | 34 | 153 | 49 | 800 | wp function not compatible with requires wp | ||
| #1960 | Custom Sidebars – Dynamic Sidebar Classic Widget Area Manager | 34 | 32 | 307 | 100k+ | Non-prefixed global variable | ||
| #1961 | DD Last Viewed | 34 | 193 | 132 | 500 | Output is not escaped | ||
| #1962 | Debug Log Manager Tool | 34 | 44 | 143 | 3k+ | Nonce verification recommended | ||
| #1963 | Document Library Lite | 34 | 149 | 85 | 4k+ | Text Domain Mismatch | ||
| #1964 | Download After Email – Subscribe & Download Form Plugin | 34 | 22 | 356 | 7k+ | Input is not validated | ||
| #1965 | Dr. Flex | 34 | 83 | 51 | 1k+ | Output is not escaped | ||
| #1966 | Delisho – Recipe Widgets and Blocks | 34 | 60 | 355 | 1k+ | Input is not sanitized | ||
| #1967 | Easy Social Sharing | 34 | 16 | 240 | 1k+ | Non-prefixed global variable | ||
| #1968 | EasyIndex | 34 | 74 | 135 | 1k+ | Missing nonce verification | ||
| #1969 | Edit Flow | 34 | 103 | 227 | 4k+ | Non-prefixed hook name | ||
| #1970 | Einsatzverwaltung | 34 | 152 | 128 | 1k+ | Output is not escaped | ||
| #1971 | ECS – Ele Custom Skin for Elementor | 34 | 99 | 205 | 100k+ | Text Domain Mismatch | ||
| #1972 | Empik for Woocommerce | 34 | 70 | 259 | 400 | Missing nonce verification | ||
| #1973 | Enhanced Text Widget | 34 | 101 | 58 | 30k+ | Output is not escaped | ||
| #1974 | ePayco Plugin for WooCommerce | 34 | 155 | 136 | 3k+ | Text Domain Mismatch | ||
| #1975 | Essential Classy Addons for Elementor – 150+ Widgets, Templates & Performance Tools | 34 | 278 | 186 | 500 | Output is not escaped | ||
| #1976 | Estimated Delivery for WooCommerce | 34 | 301 | 70 | 1k+ | Short PHP open tag found | ||
| #1977 | Event Calendar Newsletter | 34 | 96 | 167 | 600 | Non-prefixed hook name | ||
| #1978 | Event Post | 34 | 329 | 99 | 1k+ | Output is not escaped | ||
| #1979 | Export Customers Data | 34 | 109 | 49 | 500 | Text Domain Mismatch | ||
| #1980 | Social LikeBox & Feed | 34 | 393 | 141 | 10k+ | Non Singular String Literal Domain | ||
| #1981 | Profile Box Shortcode And Widget | 34 | 488 | 138 | 1k+ | Output is not escaped | ||
| #1982 | Fancy Comments WordPress | 34 | 359 | 39 | 2k+ | Unsafe printing function | ||
| #1983 | Featured Video Plus | 34 | 99 | 105 | 10k+ | Non-prefixed global variable | ||
| #1984 | Flash Toolkit | 34 | 159 | 242 | 10k+ | Non-prefixed global variable | ||
| #1985 | Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping | 34 | 124 | 156 | 100k+ | Nonce verification recommended | ||
| #1986 | Floating Side Tab | 34 | 94 | 153 | 600 | Non-prefixed global variable | ||
| #1987 | FluentAuth – The Ultimate Authorization & Security Plugin for WordPress | 34 | 44 | 229 | 10k+ | Nonce verification recommended | ||
| #1988 | Forms: 3rd-Party Integration | 34 | 234 | 112 | 5k+ | Output is not escaped | ||
| #1989 | FV Gravatar Cache | 34 | 50 | 42 | 700 | Output is not escaped | ||
| #1990 | Garden Gnome Package | 34 | 116 | 51 | 4k+ | Text Domain Mismatch | ||
| #1991 | Geolocation IP Detection | 34 | 227 | 167 | 20k+ | Output is not escaped | ||
| #1992 | Gitium | 34 | 149 | 57 | 400 | Output is not escaped | ||
| #1993 | APG Google Video Sitemap Feed | 34 | 96 | 45 | 800 | Output is not escaped | ||
| #1994 | Gratisfaction- Loyalty, Rewards , Referral, Birthday and Giveaway Program | 34 | 131 | 352 | 600 | Missing nonce verification | ||
| #1995 | Signature Add-On for Gravity Forms | 34 | 161 | 48 | 1k+ | Text Domain Mismatch | ||
| #1996 | Greenshift – animation and page builder blocks | 34 | 33 | 272 | 70k+ | Non-prefixed global variable | ||
| #1997 | Hide Price Until Login | 34 | 187 | 115 | 2k+ | Non Singular String Literal Domain | ||
| #1998 | Hitsteps Web Analytics | 34 | 370 | 313 | 800 | Output is not escaped | ||
| #1999 | HollerBox — Fast & Effective Popups & Lead-Generation | 34 | 78 | 92 | 2k+ | Output is not escaped | ||
| #2000 | SSL Mixed Content Fix | 34 | 53 | 65 | 8k+ | Output is not escaped |