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 |
|---|---|---|---|---|---|---|---|---|
| #4551 | Mango Buttons | 59 | 14 | 21 | 3k+ | Output is not escaped | ||
| #4552 | Multiple Packages for WooCommerce | 59 | 34 | 4 | 600 | Text Domain Mismatch | ||
| #4553 | Pattern Wrangler – Manage Block Patterns and Pattern Categories | 59 | 14 | 73 | 400 | Non-prefixed global variable | ||
| #4554 | pensopay Payments v2 | 59 | 413 | 32 | 1k+ | Non Singular String Literal Domain | ||
| #4555 | SureFeedback Client Site | 59 | 47 | 24 | 5k+ | Text Domain Mismatch | ||
| #4556 | Remove Add to Cart Button for WooCommerce | 59 | 115 | 18 | 500 | Text Domain Mismatch | ||
| #4557 | Resize Image After Upload | 59 | 15 | 11 | 80k+ | Output is not escaped | ||
| #4558 | Super Progressive Web Apps | 59 | 62 | 22 | 40k+ | wp function not compatible with requires wp | ||
| #4559 | Typebot | 59 | 17 | 9 | 3k+ | Output is not escaped | ||
| #4560 | UltraPress – AI Assistant, Chatbot & SEO | 59 | 12 | 38 | 800 | Non-prefixed global variable | ||
| #4561 | Unlimited Addons For Gutenberg Blocks | 59 | 16 | 68 | 900 | slow db query meta key | ||
| #4562 | Videojs HTML5 Player | 59 | 12 | 12 | 8k+ | Nonce verification recommended | ||
| #4563 | Konnect Payment Gateway for WooCommerce | 59 | 39 | 16 | 400 | Text Domain Mismatch | ||
| #4564 | Payment Gateway for LiqPay for Woocommerce | 59 | 84 | 31 | 1k+ | Text Domain Mismatch | ||
| #4565 | Variation Swatches for WooCommerce | 59 | 11 | 64 | 300k+ | Non-prefixed global variable | ||
| #4566 | RevivePress – Keep your Old Content Evergreen | 59 | 27 | 46 | 5k+ | date date | ||
| #4567 | WPML Widgets | 59 | 9 | 9 | 9k+ | Unsafe printing function | ||
| #4568 | Post Blocks & Tools | 60 | 9 | 46 | 400 | Missing nonce verification | ||
| #4569 | Contact Form 7 – Phone mask field | 60 | 21 | 7 | 20k+ | Unsafe printing function | ||
| #4570 | Disable Emails | 60 | 25 | 16 | 30k+ | Short PHP open tag found | ||
| #4571 | EPROLO-Dropshipping | 60 | 16 | 34 | 1k+ | Missing nonce verification | ||
| #4572 | Freshchat | 60 | 16 | 10 | 1k+ | Output is not escaped | ||
| #4573 | GamiPress – Button | 60 | 34 | 8 | 900 | Text Domain Mismatch | ||
| #4574 | HelloAsso | 60 | 132 | 89 | 4k+ | Short PHP open tag found | ||
| #4575 | iubenda | All-in-one Compliance for GDPR / CCPA Cookie Consent + more | 60 | 405 | 271 | 200k+ | Text Domain Mismatch | ||
| #4576 | Mailster AmazonSES Integration | 60 | 52 | 25 | 1k+ | Missing Arg Domain | ||
| #4577 | Material Design for WordPress | 60 | 51 | 207 | 700 | Non-prefixed global variable | ||
| #4578 | Product Labels, Quick View, Buy Now, Pre-Orders, Frequently Bought Together & More for WooCommerce – Merchant | 60 | 11 | 740 | 9k+ | Non-prefixed global variable | ||
| #4579 | Post Duplicator | 60 | 33 | 24 | 200k+ | Missing direct file access protection | ||
| #4580 | Real Accessability | 60 | 21 | 9 | 1k+ | Output is not escaped | ||
| #4581 | RealHomes PayPal Payments | 60 | 55 | 23 | 400 | Non Singular String Literal Domain | ||
| #4582 | Sales Countdown Timer | 60 | 107 | 150 | 6k+ | Missing Arg Domain | ||
| #4583 | Simple Owl Carousel | 60 | 23 | 13 | 500 | Missing Translators Comment | ||
| #4584 | Stratum Widgets for Elementor | 60 | 66 | 366 | 20k+ | Non-prefixed global variable | ||
| #4585 | Surge | 60 | 46 | 47 | 4k+ | Non-prefixed global variable | ||
| #4586 | Tabby Responsive Tabs | 60 | 16 | 5 | 10k+ | Output is not escaped | ||
| #4587 | Team – Team Members Showcase Plugin | 60 | 12 | 781 | 10k+ | Non-prefixed global variable | ||
| #4588 | MultiStep Checkout for WooCommerce | 60 | 46 | 57 | 4k+ | Non Singular String Literal Text | ||
| #4589 | WP Blog Post Layouts | 60 | 36 | 249 | 10k+ | Non-prefixed global variable | ||
| #4590 | WP-SWFObject | 60 | 14 | 24 | 1k+ | Deprecated parameter: add_option parameter 3 | ||
| #4591 | WPSSO Schema Product Metadata for WooCommerce | 60 | 33 | 23 | 500 | Missing Translators Comment | ||
| #4592 | Add Quantity Field on Shop Page for WooCommerce | 61 | 33 | 7 | 700 | Output is not escaped | ||
| #4593 | Ads.txt Manager | 61 | 33 | 16 | 4k+ | Text Domain Mismatch | ||
| #4594 | CommerceBird – AI Command Center, ERP Integrations & B2B for WooCommerce (Zoho, Exact Online). | 61 | 2 | 162 | 400 | Direct Query | ||
| #4595 | Compact WP Audio Player | 61 | 12 | 21 | 20k+ | Non-prefixed function | ||
| #4596 | Disable Right Click For WP | 61 | 15 | 12 | 10k+ | Missing nonce verification | ||
| #4597 | Documents for WooCommerce | 61 | 16 | 13 | 500 | Output is not escaped | ||
| #4598 | ELEX WooCommerce Catalog Mode | 61 | 97 | 49 | 10k+ | Text Domain Mismatch | ||
| #4599 | GamiPress – Link | 61 | 32 | 5 | 800 | Output is not escaped | ||
| #4600 | GetPaid Stripe Payments | 61 | 206 | 44 | 2k+ | Text Domain Mismatch |