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 |
|---|---|---|---|---|---|---|---|---|
| #51 | GiveWP – Donation Plugin and Fundraising Platform | 20 | 3,410 | 3,554 | 100k+ | Output is not escaped | ||
| #52 | GoUrl Bitcoin Payment Gateway & Paid Downloads & Membership | 20 | 1,832 | 720 | 700 | Non Singular String Literal Domain | ||
| #53 | Leaky Paywall | 20 | 322 | 789 | 600 | Nonce verification recommended | ||
| #54 | Link Library | 20 | 1,942 | 1,394 | 10k+ | Unsafe printing function | ||
| #55 | MBE eShip | 20 | 527 | 740 | 1k+ | Non-prefixed global variable | ||
| #56 | Brevo – Email, SMS, Web Push, Chat, and more. | 20 | 460 | 646 | 100k+ | Request data is not unslashed | ||
| #57 | MAS Videos | 20 | 519 | 1,693 | 1k+ | Non-prefixed global variable | ||
| #58 | Microthemer Lite – Visual Editor to Customize CSS | 20 | 1,004 | 1,699 | 10k+ | Non-prefixed global variable | ||
| #59 | Nimble Page Builder | 20 | 1,591 | 1,684 | 30k+ | Missing Arg Domain | ||
| #60 | Shipping for Nova Poshta | 20 | 598 | 923 | 400 | Output is not escaped | ||
| #61 | پلاگین پرداخت دلخواه | 20 | 584 | 446 | 900 | Text Domain Mismatch | ||
| #62 | Pix por Piggly (para Woocommerce) | 20 | 547 | 195 | 4k+ | Exception output is not escaped | ||
| #63 | Powered Cache – Caching and Optimization for WordPress – Easily Improve PageSpeed & Web Vitals Score | 20 | 147 | 231 | 3k+ | Exception output is not escaped | ||
| #64 | Pronamic Pay | 20 | 266 | 1,078 | 2k+ | Non-prefixed global variable | ||
| #65 | Razorpay Payment Button Elementor Plugin | 20 | 479 | 62 | 1k+ | Exception output is not escaped | ||
| #66 | Remove Add to Cart WooCommerce | 20 | 616 | 1,378 | 4k+ | Non-prefixed global variable | ||
| #67 | Robin Image Optimizer – Unlimited Image Optimization, WebP & AVIF | 20 | 556 | 543 | 100k+ | Output is not escaped | ||
| #68 | SpeakOut! Email Petitions | 20 | 850 | 994 | 2k+ | Missing nonce verification | ||
| #69 | Events Manager – OpenStreetMaps | 20 | 559 | 444 | 600 | Output is not escaped | ||
| #70 | Razorpay for WooCommerce | 20 | 975 | 859 | 100k+ | Non-prefixed function | ||
| #71 | WP Compress – Instant Performance & Speed Optimization | 20 | 4,046 | 3,502 | 10k+ | Non Singular String Literal Domain | ||
| #72 | WP Minify Fix | 20 | 306 | 380 | 800 | Output is not escaped | ||
| #73 | Premium Packages – Sell Digital Products Securely | 20 | 2,017 | 2,181 | 2k+ | Non-prefixed global variable | ||
| #74 | School Management System – WPSchoolPress | 20 | 245 | 5,285 | 1k+ | Non-prefixed global variable | ||
| #75 | Store Locator WordPress | 21 | 2,494 | 1,628 | 10k+ | Text Domain Mismatch | ||
| #76 | Backup Migration | 21 | 981 | 1,093 | 80k+ | Non-prefixed global variable | ||
| #77 | Forumax – AI Powered Advanced Community Forum Plugin | 21 | 4,936 | 4,353 | 600 | Text Domain Mismatch | ||
| #78 | bbPress | 21 | 929 | 3,672 | 100k+ | Non-prefixed function | ||
| #79 | Kadence Security – Password, Two Factor Authentication, and Brute Force Protection | 21 | 1,060 | 957 | 700k+ | Missing Translators Comment | ||
| #80 | Pinpoint Booking System – Version 2 | 21 | 634 | 328 | 3k+ | Missing direct file access protection | ||
| #81 | Booking Ultra Pro Appointments Booking Calendar Plugin | 21 | 761 | 2,083 | 400 | Request data is not unslashed | ||
| #82 | Better Messages – Chat Rooms, Group Chat, Private Messages & AI Chat Bots | 21 | 1,621 | 2,038 | 10k+ | Direct Query | ||
| #83 | rtMedia for WordPress, BuddyPress and bbPress | 21 | 363 | 647 | 7k+ | Non-prefixed constant | ||
| #84 | Captcha Them All | 21 | 300 | 323 | 5k+ | Output is not escaped | ||
| #85 | SMS Extension for Contact Form 7 | 21 | 720 | 1,387 | 400 | Non-prefixed global variable | ||
| #86 | Comet Cache | 21 | 857 | 245 | 20k+ | Output is not escaped | ||
| #87 | Cost Calculator Builder | 21 | 322 | 766 | 20k+ | Non-prefixed global variable | ||
| #88 | Daily Prayer Time | 21 | 947 | 1,780 | 1k+ | Non-prefixed global variable | ||
| #89 | DELUCKS SEO | 21 | 362 | 1,171 | 400 | Missing nonce verification | ||
| #90 | Free Downloads WooCommerce | 21 | 430 | 359 | 4k+ | Output is not escaped | ||
| #91 | Duplicator – Backups & Migration Plugin – Cloud Backups, Scheduled Backups, & More | 21 | 2,572 | 1,277 | 1m+ | Output is not escaped | ||
| #92 | Envo Extra | 21 | 878 | 600 | 20k+ | Text Domain Mismatch | ||
| #93 | eRoom – Webinar & Meeting Plugin for Zoom, Google Meet, Microsoft Teams | 21 | 186 | 437 | 9k+ | Non-prefixed global variable | ||
| #94 | Eupago Gateway For Woocommerce | 21 | 576 | 233 | 2k+ | Output is not escaped | ||
| #95 | EventPrime – Events Calendar, Bookings and Tickets | 21 | 873 | 4,310 | 7k+ | Non-prefixed global variable | ||
| #96 | Feeds for YouTube (YouTube video, channel, and gallery plugin) | 21 | 508 | 963 | 100k+ | Output is not escaped | ||
| #97 | FileOrganizer – WordPress File Manager | 21 | 536 | 241 | 200k+ | unlink unlink | ||
| #98 | Filter Everything — WordPress & WooCommerce Filters | 21 | 643 | 933 | 50k+ | Non-prefixed global variable | ||
| #99 | Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More | 21 | 52 | 2,063 | 300k+ | Non-prefixed global variable | ||
| #100 | Campaign Monitor for WordPress | 21 | 386 | 461 | 2k+ | Non-prefixed global variable |