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 |
|---|---|---|---|---|---|---|---|---|
| #4801 | Hide Page And Post Title | 67 | 11 | 8 | 40k+ | Output is not escaped | ||
| #4802 | Hide Plugins | 67 | 7 | 15 | 1k+ | Nonce verification recommended | ||
| #4803 | Kraken.io Image Optimizer – Compress, Convert to WebP & AVIF, Resize & Bulk Optimize | 67 | 293 | 80 | 9k+ | Text Domain Mismatch | ||
| #4804 | Leadster | 67 | 6 | 10 | 4k+ | Non-prefixed function | ||
| #4805 | Mailster Gmail Integration | 67 | 15 | 13 | 1k+ | Missing Translators Comment | ||
| #4806 | Manage Upload Types | 67 | 7 | 13 | 400 | Output is not escaped | ||
| #4807 | MetaTag | 67 | 7 | 13 | 600 | Input is not validated | ||
| #4808 | Missed Schedule Post Publisher | 67 | 11 | 10 | 7k+ | Output is not escaped | ||
| #4809 | Mosaic Gallery – Advanced Gallery | 67 | 45 | 79 | 3k+ | Non-prefixed global variable | ||
| #4810 | Mouse cursor customizer | 67 | 5 | 38 | 1k+ | Missing nonce verification | ||
| #4811 | Notely | 67 | 6 | 17 | 600 | Non-prefixed function | ||
| #4812 | onOffice for WP-Websites | 67 | 5 | 507 | 1k+ | Non-prefixed global variable | ||
| #4813 | Per Page Sidebars | 67 | 12 | 11 | 900 | Input is not validated | ||
| #4814 | Printful Integration for WooCommerce | 67 | 218 | 76 | 50k+ | Text Domain Mismatch | ||
| #4815 | Product Variations Swatches for WooCommerce | 67 | 8 | 136 | 10k+ | Non-prefixed global variable | ||
| #4816 | Safelayout Elegant Icons – WordPress icons | 67 | 3 | 17 | 700 | Input is not validated | ||
| #4817 | Cart links for WooCommerce | 67 | 13 | 16 | 500 | Text Domain Mismatch | ||
| #4818 | WP Forms + Sprout Invoices – Easy Invoice & Quote Submissions | 67 | 40 | 12 | 400 | Text Domain Mismatch | ||
| #4819 | BitPay Gateway for WooCommerce | 67 | 64 | 21 | 400 | Text Domain Mismatch | ||
| #4820 | Payment Gateway for Cpay with WooCommerce | 67 | 67 | 26 | 400 | wp function not compatible with requires wp | ||
| #4821 | Expand Tabs for WooCommerce | 67 | 10 | 57 | 1k+ | Non-prefixed global variable | ||
| #4822 | WP Image Zoom | 67 | 30 | 46 | 10k+ | Non-prefixed global variable | ||
| #4823 | WP SMTP Mailer – SMTP7 | 67 | 2 | 33 | 9k+ | Request data is not unslashed | ||
| #4824 | WP Notification Bars | 67 | 13 | 32 | 10k+ | Request data is not unslashed | ||
| #4825 | WP Post Branches | 67 | 16 | 12 | 4k+ | Nonce verification recommended | ||
| #4826 | Auto Image Title & Alt | 68 | 13 | 4 | 400 | Missing direct file access protection | ||
| #4827 | Book Previewer for Woocommerce | 68 | 23 | 40 | 1k+ | Non-prefixed global variable | ||
| #4828 | Booter – Bots & Crawlers Manager | 68 | 81 | 7k+ | Non-prefixed global variable | |||
| #4829 | Member Swipe for BuddyPress | 68 | 9 | 13 | 500 | Missing direct file access protection | ||
| #4830 | Category Featured Images | 68 | 5 | 12 | 600 | Input is not sanitized | ||
| #4831 | Clearout Email Validator – Real-Time Email Verification on WordPress Forms | 68 | 21 | 80 | 600 | Non-prefixed function | ||
| #4832 | Comment Approved | 68 | 6 | 14 | 500 | Input is not sanitized | ||
| #4833 | Controls for Contact Form 7 (Redirects, Analytics & Tracking) | 68 | 4 | 14 | 10k+ | Missing nonce verification | ||
| #4834 | ConvertBox Auto Embed WordPress plugin | 68 | 18 | 10 | 5k+ | Missing direct file access protection | ||
| #4835 | Expire Sticky Posts | 68 | 16 | 8 | 1k+ | Text Domain Mismatch | ||
| #4836 | Fatal Error Notify | 68 | 10 | 12 | 6k+ | Request data is not unslashed | ||
| #4837 | Featured Video for WooCommerce | 68 | 40 | 13 | 700 | Text Domain Mismatch | ||
| #4838 | Free Assets Library – Openverse/Pixabay 600+ Million Images | 68 | 44 | 36 | 4k+ | Text Domain Mismatch | ||
| #4839 | WCAG 2.0 form fields for Gravity Forms | 68 | 11 | 13 | 5k+ | Output is not escaped | ||
| #4840 | Hreflang Manager – Hreflang Implementation for International SEO | 68 | 21 | 15 | 8k+ | wp function not compatible with requires wp | ||
| #4841 | Mailster Contact Form 7 | 68 | 35 | 20 | 1k+ | Text Domain Mismatch | ||
| #4842 | ミエルカヒートマップ タグマネージャー | 68 | 9 | 11 | 800 | Input is not validated | ||
| #4843 | My Social Feeds – Social Feeds Embedder Plugin for WP | 68 | 1 | 30 | 400 | Nonce verification recommended | ||
| #4844 | News Magazine X Core | 68 | 63 | 30 | 5k+ | Missing Translators Comment | ||
| #4845 | POS Entegratör – Gurmehub Ödeme Eklentisi | 68 | 1,321 | 69 | 1k+ | Text Domain Mismatch | ||
| #4846 | Hide Title | 68 | 13 | 6 | 900 | Output is not escaped | ||
| #4847 | SF Author Url Control | 68 | 29 | 4 | 1k+ | Output is not escaped | ||
| #4848 | SKT Page Builder | 68 | 15 | 49 | 2k+ | Missing nonce verification | ||
| #4849 | Slim Maintenance Mode | 68 | 9 | 10 | 10k+ | Output is not escaped | ||
| #4850 | Sortable Word Count Reloaded | 68 | 18 | 6 | 2k+ | Output is not escaped |