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 |
|---|---|---|---|---|---|---|---|---|
| #1751 | Subscribe2 – Form, Email Subscribers & Newsletters | 32 | 32 | 410 | 10k+ | Direct Query | ||
| #1752 | System Dashboard | 32 | 91 | 205 | 900 | Request data is not unslashed | ||
| #1753 | Tainacan Support for Blocksy | 32 | 244 | 526 | 500 | Non-prefixed global variable | ||
| #1754 | Theme My Login | 32 | 251 | 549 | 60k+ | Non-prefixed function | ||
| #1755 | Thrive Automator | 32 | 84 | 84 | 10k+ | SQL query is not prepared | ||
| #1756 | TK Google Fonts GDPR Compliant | 32 | 582 | 34 | 1k+ | Output is not escaped | ||
| #1757 | Tumult Hype Animations | 32 | 56 | 117 | 1k+ | Output is not escaped | ||
| #1758 | UiCore Blocks – Free WordPress Gutenberg Blocks | 32 | 59 | 394 | 500 | Non-prefixed global variable | ||
| #1759 | Ultimate Store Kit – Addon For WooCommerce, EDD and Elementor | 32 | 57 | 293 | 4k+ | Post Not In exclude | ||
| #1760 | Unbounce Landing Pages | 32 | 169 | 86 | 10k+ | Output is not escaped | ||
| #1761 | Secure Client Portal and Private File Sharing Plugin – User Private Files | 32 | 183 | 525 | 1k+ | Non-prefixed global variable | ||
| #1762 | User Registration Using Contact Form 7 | 32 | 103 | 15 | 500 | wp function not compatible with requires wp | ||
| #1763 | Multi Currency For WooCommerce | 32 | 87 | 70 | 1k+ | Non-prefixed global variable | ||
| #1764 | Webdzier Companion | 32 | 539 | 89 | 800 | Text Domain Mismatch | ||
| #1765 | WebwinkelKeur: Webshop keurmerk & reviews for WordPress | 32 | 200 | 47 | 4k+ | Short PHP open tag found | ||
| #1766 | Management App for WooCommerce – Order notifications, Order management, Lead management, Uptime Monitoring | 32 | 196 | 160 | 900 | Text Domain Mismatch | ||
| #1767 | Easy 3D Viewer | 32 | 399 | 241 | 1k+ | Text Domain Mismatch | ||
| #1768 | BEAR – Bulk Editor and Products Manager Professional for WooCommerce by Pluginus.Net | 32 | 5 | 933 | 40k+ | Non-prefixed global variable | ||
| #1769 | Payment Gateway for Redsys & WooCommerce Lite | 32 | 125 | 75 | 20k+ | Text Domain Mismatch | ||
| #1770 | WooMS | 32 | 199 | 58 | 500 | Output is not escaped | ||
| #1771 | WP 2-step verification | 32 | 154 | 65 | 1k+ | Output is not escaped | ||
| #1772 | WP Bannerize Pro | 32 | 281 | 216 | 800 | Text Domain Mismatch | ||
| #1773 | WP fail2ban – Advanced Security | 32 | 75 | 153 | 60k+ | Dynamic hook name | ||
| #1774 | wp-jalali | 32 | 219 | 66 | 10k+ | Text Domain Mismatch | ||
| #1775 | WP Popup | 32 | 539 | 65 | 1k+ | Text Domain Mismatch | ||
| #1776 | SEOPress – AI SEO Plugin & On-site SEO | 32 | 138 | 429 | 300k+ | Non-prefixed global variable | ||
| #1777 | WP-Stats | 32 | 237 | 126 | 2k+ | Output is not escaped | ||
| #1778 | WP Weixin | 32 | 60 | 152 | 400 | Non-prefixed constant | ||
| #1779 | WPCasa – Real Estate for WordPress | 32 | 85 | 429 | 1k+ | Non-prefixed global variable | ||
| #1780 | wpDirAuth | 32 | 250 | 135 | 500 | wp function not compatible with requires wp | ||
| #1781 | Privacy Policy Generator – WPLP Legal Pages | 32 | 26 | 409 | 10k+ | Non-prefixed global variable | ||
| #1782 | WT GeoTargeting | 32 | 89 | 43 | 1k+ | Output is not escaped | ||
| #1783 | Dynamic XML Sitemaps Generator for Google | 32 | 74 | 411 | 20k+ | Non-prefixed global variable | ||
| #1784 | Yoo Slider – Image Slider & Video Slider | 32 | 744 | 209 | 600 | Output is not escaped | ||
| #1785 | Advanced Forms for ACF | 33 | 169 | 278 | 3k+ | Non-prefixed hook name | ||
| #1786 | Agile CRM | 33 | 163 | 81 | 600 | wp function not compatible with requires wp | ||
| #1787 | AI WP Writer – SEO content generator, chatGPT, Gemini | 33 | 581 | 531 | 3k+ | Text Domain Mismatch | ||
| #1788 | Archive Posts Sort Customize | 33 | 338 | 97 | 600 | Output is not escaped | ||
| #1789 | Auto Listings – Car Listings & Car Dealership Plugin for WordPress | 33 | 80 | 321 | 2k+ | Non-prefixed global variable | ||
| #1790 | Premium Portfolio Features for Phlox theme | 33 | 204 | 137 | 40k+ | Output is not escaped | ||
| #1791 | AWeber – Free Sign Up Form and Landing Page Builder Plugin for Lead Generation and Email Newsletter Growth | 33 | 33 | 229 | 9k+ | Non-prefixed global variable | ||
| #1792 | Awesome Widgets for SiteOrigin Page Builder | 33 | 314 | 59 | 500 | Text Domain Mismatch | ||
| #1793 | Background Per Page | 33 | 80 | 56 | 700 | Text Domain Mismatch | ||
| #1794 | Ultimate Before After Image Slider & Gallery – BEAF | 33 | 488 | 87 | 30k+ | Text Domain Mismatch | ||
| #1795 | Bosta WooCommerce | 33 | 303 | 180 | 700 | Text Domain Mismatch | ||
| #1796 | Activity Plus Reloaded for BuddyPress | 33 | 88 | 93 | 1k+ | Output is not escaped | ||
| #1797 | Five Star Business Profile and Schema | 33 | 289 | 138 | 7k+ | Output is not escaped | ||
| #1798 | Addi – Cuotas que se adaptan a ti | 33 | 106 | 209 | 2k+ | Direct Query | ||
| #1799 | Cargus | 33 | 48 | 64 | 700 | Input is not sanitized | ||
| #1800 | Nexi XPay | 33 | 496 | 277 | 6k+ | Text Domain Mismatch |