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 |
|---|---|---|---|---|---|---|---|---|
| #1851 | MAS Companies For WP Job Manager | 33 | 62 | 308 | 1k+ | Non-prefixed hook name | ||
| #1852 | MaxiBlocks Builder | 17,000+ Design Assets, Patterns, Icons & Starter Sites | 33 | 2 | 503 | 700 | Non-prefixed function | ||
| #1853 | Merge + Minify + Refresh | 33 | 78 | 26 | 4k+ | date date | ||
| #1854 | Molongui Post Contributors: Multi-Role Contributor Attribution | 33 | 240 | 162 | 400 | Output is not escaped | ||
| #1855 | More Types | 33 | 227 | 198 | 800 | Non-prefixed global variable | ||
| #1856 | Newebpay Payment | 33 | 146 | 115 | 600 | Text Domain Mismatch | ||
| #1857 | News Announcement Scroll | 33 | 237 | 259 | 2k+ | Non-prefixed global variable | ||
| #1858 | GDPR CCPA Compliance & Cookie Consent Banner | 33 | 622 | 87 | 1k+ | Non Singular String Literal Domain | ||
| #1859 | Nomad World Map | 33 | 424 | 191 | 700 | Text Domain Mismatch | ||
| #1860 | Notification Master – Real-Time WordPress Notifications With Email, SMS, Webhooks & More | 33 | 293 | 215 | 1k+ | Text Domain Mismatch | ||
| #1861 | Offen | 33 | 313 | 115 | 500 | Output is not escaped | ||
| #1862 | Pastacode | 33 | 77 | 66 | 400 | Non-prefixed global variable | ||
| #1863 | Payflex Payment Gateway | 33 | 181 | 61 | 1k+ | Text Domain Mismatch | ||
| #1864 | PeproDev WooCommerce Receipt Uploader | 33 | 325 | 49 | 1k+ | Non Singular String Literal Domain | ||
| #1865 | پینوا | Pinova | 33 | 171 | 75 | 500 | Output is not escaped | ||
| #1866 | Plugin Organizer | 33 | 325 | 257 | 10k+ | Output is not escaped | ||
| #1867 | FancyPost – Post Blocks, Grids & Sliders for Block Editor and Elementor | 33 | 356 | 271 | 500 | Output is not escaped | ||
| #1868 | Post Lists View Custom | 33 | 462 | 150 | 2k+ | Missing Arg Domain | ||
| #1869 | PublishPress Checklists: Pre-Publishing Approval Checklist – Validate Post Requirements | 33 | 140 | 182 | 3k+ | Missing Translators Comment | ||
| #1870 | PW WooCommerce Gift Cards | 33 | 238 | 186 | 20k+ | Output is not escaped | ||
| #1871 | QNAP NAS Backup | 33 | 374 | 70 | 2k+ | Non Singular String Literal Domain | ||
| #1872 | Quick Restaurant Reservations | 33 | 654 | 179 | 500 | Text Domain Mismatch | ||
| #1873 | Frisbii Pay | 33 | 91 | 292 | 1k+ | Non-prefixed global variable | ||
| #1874 | Rename wp-login.php to anything you want | 33 | 251 | 117 | 500 | Output is not escaped | ||
| #1875 | Review Slider for WooCommerce | 33 | 160 | 422 | 400 | Non-prefixed global variable | ||
| #1876 | Reviews Plus | 33 | 223 | 378 | 1k+ | Non-prefixed function | ||
| #1877 | RTMKit | 33 | 11 | 388 | 50k+ | Non-prefixed global variable | ||
| #1878 | RSS Feed Pro | 33 | 484 | 16 | 500 | Output is not escaped | ||
| #1879 | Live Sales Notification (Recent Sales Popups) | 33 | 114 | 120 | 400 | SQL query is not prepared | ||
| #1880 | Save as PDF Plugin by PDFCrowd | 33 | 299 | 254 | 1k+ | Non-prefixed global variable | ||
| #1881 | Schema & Structured Data for WP & AMP | 33 | 63 | 246 | 100k+ | Non-prefixed global variable | ||
| #1882 | Service Box – Icon Box Showcase | 33 | 385 | 230 | 3k+ | Non Singular String Literal Domain | ||
| #1883 | Sessions | 33 | 196 | 103 | 900 | Output is not escaped | ||
| #1884 | ShopPress – Shop Builder for Elementor and WooCommerce | 33 | 11 | 879 | 500 | Non-prefixed global variable | ||
| #1885 | TaxCloud for WooCommerce | 33 | 23 | 261 | 500 | Non-prefixed function | ||
| #1886 | Slider Path for Elementor | 33 | 329 | 100 | 700 | Text Domain Mismatch | ||
| #1887 | SMTP2GO for WordPress – Email Made Easy | 33 | 186 | 111 | 30k+ | Output is not escaped | ||
| #1888 | Social Rocket – Social Sharing Plugin | 33 | 1,016 | 255 | 1k+ | Unsafe printing function | ||
| #1889 | Spiffy Calendar | 33 | 473 | 243 | 3k+ | Output is not escaped | ||
| #1890 | Spin Wheel – Interactive spinning wheel that offers coupons | 33 | 680 | 313 | 500 | Unsafe printing function | ||
| #1891 | Simple Sticky Add To Cart For WooCommerce | 33 | 401 | 70 | 900 | Text Domain Mismatch | ||
| #1892 | Gravity Booster – Styles & Layouts for Gravity Forms | 33 | 277 | 87 | 40k+ | Missing Arg Domain | ||
| #1893 | Sublanguage | 33 | 266 | 287 | 700 | Output is not escaped | ||
| #1894 | Telegram Bot & Channel | 33 | 182 | 113 | 600 | Unsafe printing function | ||
| #1895 | Testimonial Slider – Free Testimonials Slider Plugin | 33 | 91 | 50 | 700 | Request data is not unslashed | ||
| #1896 | Envato Toolkit | 33 | 219 | 69 | 5k+ | Output is not escaped | ||
| #1897 | TP Education | 33 | 186 | 303 | 800 | Unsafe printing function | ||
| #1898 | TrackingMore Order Tracking for WooCommerce (Free plan available) | 33 | 94 | 124 | 700 | Text Domain Mismatch | ||
| #1899 | WP Twitter Auto Publish | 33 | 442 | 171 | 4k+ | Output is not escaped | ||
| #1900 | Uix Shortcodes | 33 | 246 | 444 | 400 | Non-prefixed global variable |